当前位置: 首页 > 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.huolong8.cn/news/369227/

相关文章:

  • 怎样创建自己公司的网站千库网免费素材图库
  • 西安 医疗网站建设网站安全建设模板
  • 检测网站是否被挂黑链效果图网站排行榜前十名
  • 医疗网站模版wordpress主题大学
  • 适合在线做笔试的网站wordpress 使用mysql添加文章
  • 团购网站怎么推广如何免费创建网站平台
  • 企业为什么要做网站运营外贸自建站平台价格
  • 潍坊大型网站建设平台淘宝运营去哪里学
  • 网站页眉设计wordpress换身 变身
  • 制作制作网站建设的班级优化大师头像
  • 网页设计与网站建设在线考试wordpress博
  • 在西宁做网站可以吗h5响应式网站建设代理
  • 通州网站开发太原网站优化方案
  • 有哪些高大上的网站新媒体营销课程
  • 织梦网站建设实训总结我想建设一个网站
  • 打开一个网站搜索页面跳转js福田产品设计
  • 惠州市 网站开发公司咨询公司名称
  • 做网站要会哪些软件电子商务网站建设含义
  • 做网站图注意事项说说版wordpress
  • 做最最优秀的视频网站松溪网站建设wzjseo
  • 做网站前的准备工作wordpress移动端文件
  • 百度搜索引擎广告萌新seo
  • 郫都区网站建设营销咨询公司属于金融机构吗
  • node js 网站开发网站推广销售
  • 中国网库做网站美工招聘信息
  • 可以进网站的软件用php做的单车租赁网站
  • 有了域名空间服务器怎么做网站网站ip地址大全
  • 网站 通管局 报备wordpress名字修改
  • 医药网站开发健康门户网站源码
  • 网站建设教程开源代码下载产品推广外包