当前位置: 首页 > news >正文

云趣在线企业网站建设成都官网seo厂家

云趣在线企业网站建设,成都官网seo厂家,舒城县建设局网站首页,微信公众号文章推广1.1 基本概念 微服务基本概念#xff1a;微服务就是将一个项目拆分成多个服务。举个简单的例子#xff1a;将网站的登录功能可以拆分出来做成一个服务。 微服务分为提供者和消费者#xff0c;如上“登录服务”就是一个服务提供者#xff0c;“网站服务器”就是一个服务消…1.1 基本概念 微服务基本概念微服务就是将一个项目拆分成多个服务。举个简单的例子将网站的登录功能可以拆分出来做成一个服务。 微服务分为提供者和消费者如上“登录服务”就是一个服务提供者“网站服务器”就是一个服务消费者服务客户端。 你可能注意到了客户端和网站服务器通信使用的是http为什么服务器之间使用的是tcp这主要和性能、传输灵活度相关。 在nestjs中传输方式还有很多中比如通过grpc、rabbitmq、redis等技术来传输数据。 补充登录服务可以部署在同一台服务器也可以在其他服务器但只要拆分出来了就称之为微服务。 1.2 搭建提供者和消费者 首先保证你全局安装了nestjs脚手架 npm i -g nestjs/cli 创建nestjs项目如下代码我将会使用monorepo模式如果你还不太熟悉这是官网地址https://docs.nestjs.com/cli/monorepo#monorepo-mode 或者你也可以直接按照我如下步骤操作 nest new my-app创建一个nestjs的项目自行选择包管理器cd my-app进入my-app目录nest generate app rpc-provider把当前项目转化为monorepo模式并创建rpc-provider项目提供者nest generate app rpc-consumer创建消费者pnpm i安装依赖pnpm i nestjs/microservices安装微服务需要的包 补充启动方式npm run start:dev rpc-provider 1.3 实现微服务提供者 1.3.1 app/rpc-provider/src/main.ts import { NestFactory } from nestjs/core; import { RpcProviderModule } from ./rpc-provider.module; import { MicroserviceOptions, Transport } from nestjs/microservices;// 创建微服务 async function bootstrap() {const app await NestFactory.createMicroserviceMicroserviceOptions(RpcProviderModule,{transport: Transport.TCP,options: {host: 127.0.0.1,port: 2999,},},);await app.listen(); } bootstrap();1.3.2 app/rpc-provider/src/rpc-provider.controller.ts 说明nestjs中微服务提供了两种模式 MessagePattern基于请求-响应的消息处理程序EventPattern基于发布-订阅的消息处理程序此方式是不需要做出响应的 import { Controller, Get } from nestjs/common; import { RpcProviderService } from ./rpc-provider.service; import { EventPattern, MessagePattern } from nestjs/microservices;Controller() export class RpcProviderController {constructor(private readonly rpcProviderService: RpcProviderService) {}MessagePattern(calc)async accumulate(nums: number[]): Promisenumber {console.log(微服务提供者 MessagePattern, nums);return await new Promise((resolve) {setTimeout(() {resolve(nums.reduce((pre, cur) pre cur, 0));}, 10);});}EventPattern(notice)handleUserCreated(data: string): void {console.log(微服务提供者 EventPattern, data);}Get()getHello(): string {return this.rpcProviderService.getHello();} }1.4 实现微服务消费者 1.4.1 app/rpc-consumer/src/rpc-consumer.module.ts import { Module } from nestjs/common; import { RpcConsumerController } from ./rpc-consumer.controller; import { RpcConsumerService } from ./rpc-consumer.service; import { ClientsModule, Transport } from nestjs/microservices;Module({imports: [// 注册服务ClientsModule.register([{name: MATH_SERVICE, //给该服务取一个名字transport: Transport.TCP, //服务传输方式options: {host: 127.0.0.1,port: 2999,},},]),],controllers: [RpcConsumerController],providers: [RpcConsumerService], }) export class RpcConsumerModule {}1.4.2 app/rpc-consumer/src/rpc-consumer.controller.ts import { Body, Controller, Get, Inject, Post } from nestjs/common; import { RpcConsumerService } from ./rpc-consumer.service; import { ClientProxy } from nestjs/microservices; import { Observable } from rxjs;Controller() export class RpcConsumerController {constructor(private readonly rpcConsumerService: RpcConsumerService,Inject(MATH_SERVICE) private client: ClientProxy,) {}Post()// 说明Observable是一个可被观察的流需要安装rxjs(pnpm i rxjs)callService(Body(nums) nums: number[]): Observablenumber {// emit调用EventPatternthis.client.emit(notice, xxx);// 返回的是一个Observable对象return this.client.sendnumber(calc, nums);}Get()getHello(): string {return this.rpcConsumerService.getHello();} }有疑问欢迎在文章下留言看到了我就会回答
http://www.yutouwan.com/news/369227/

相关文章:

  • 一个大网站需要多少钱wordpress ios shared
  • 网站首页标题五大常用办公软件
  • 石柱县建设局网站网页设计模板教程
  • 河津北京网站建设wordpress 单栏 主题
  • 为什么网站搜索不到邢台高端网站建设公司
  • 建网站要注册吗软件开发文档用什么写
  • 太原注册公司网站用wordpress做音乐网站
  • saas建站源码下载找人做网站如何担保
  • 如何制作建筑公司网站装修公司做网销的网站
  • 网站备案账户名如何查询在线免费做网站
  • 贴心的合肥网站建设网站注册收入
  • 南通企业建站模板上海手机网站建设公司
  • 做开箱的网站网站使用arial字体下载
  • 建设工程信息哪个网站有详细信息wordpress下一篇
  • 自己搭建网站需要什么产品网站定制
  • 南宁百度网站公司吗折800网站模板
  • 教人做策划的网站企业在什么网站推广
  • 做亚马逊外国网站需要语言好吗怎么下载网站程序
  • 抖音小程序代理郑州网站制作选择乐云seo
  • 在线做试卷的网站17我们一起做网站
  • wordpress整站无刷新网站登录后不显示内容
  • 无锡建设网站wordpress如何重装
  • 高端大气上档次的网站模板网站服务器设置
  • 建设一个一般网站需要多少时间建设银行博士后招聘网站
  • 俄罗斯网站建设公司网站备案后在百度上多长时间可以搜索到
  • 建设阅读网站的研究意义网站开发项目的心得体会
  • 网站导航html源码天津网站开发网站
  • 拟定网站优化方案免费国外服务器地址
  • 广州网站制青岛正规品牌网站制作策划
  • 网站seo具体怎么做个人网站建站教程