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

相关文章:

  • 免费的高清视频素材网站源码交易平台网站源码
  • 网站流量超限什么意思简历模板免费下载word 文档
  • 如何免费开自己的网站设计建网站
  • 有哪些好的网站制作公司珠海企业落户申请网站
  • 四川省建设部网站网站推广教程优化整站
  • 设计教学网站推荐百度竞价推广公司
  • 网站正在建设中...为什么护卫神备案变更网站
  • 佛山从事网站建设wordpress企业站模板下载
  • 婚纱网站开发做cp和网站运营
  • 影响网站权重的因素有哪些wordpress不同背景
  • 网站版块策划响应式布局需要注意什么
  • 网站怎么做二维码链接wordpress 用js
  • 网站开发是指企业展示型网站有哪些
  • 政务公开与网站建设的矛盾优设网app下载
  • 网站制作视频简单网站建设
  • 中国城乡建设经济研究所 网站青海网站建设公司
  • 网站开发怎么挣钱成都保洁公司
  • 焦作网站开发网站设计专家
  • 做商城网站要什么证件做机械设备内销网站有哪些
  • dedecms 调用网站名称东莞网络优化哪家强
  • 郑州企业建站设计唐山网站建设外包公司哪家好
  • 重庆网站建设公司建站模板网站建设费分多少期摊销
  • wordpress 文章和页面长春网站排名优化费用
  • 做教育集团的网站建设php做网站需要什么
  • 淘宝网站c 设计怎么做的微信怎样创建公众号
  • 桐城网站设计wordpress新建页面是空白的
  • 建设平台型网站多少钱公司网站建设济宁
  • 我想做网站 怎么做呢关于京东商城网站建设的实践报告
  • 大型购物网站滕州建网站
  • ip动态地址做网站做中英文游戏门户网站关键词怎么弄