当前位置: 首页 > 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://wiki.neutronadmin.com/news/369227/

相关文章:

  • 购物网站app西安网站建设模板
  • 百度云 建网站悬赏平台 wordpress
  • python做网站点登入没反映网站建设 验证码
  • 内蒙古建设银行网站校园旅游网站建设方案策划书
  • 网站不备案打不开品牌建设的可行性论证
  • 网站开发近期市场wordpress免登录支付宝
  • 网站内容建设的原则是什么青岛无间设计公司网站
  • 湖南网站推广多少钱新乡网络网站建设
  • 深圳网站建设公司哪家可以建app私人信息调查
  • 如何有效的推广网站权大师的网站是哪个公司做的
  • 网站费用预算wordpress手机显示不了图片
  • 网站每天更新多少文章域名信息查询
  • 内容聚合网站开发教程网站开发框架的工具
  • 企业做网站价格免费建站赚钱
  • 网站建设的优点和不足有哪些可以做问卷赚钱的网站
  • 做网站哪种字体好看网络营销策划活动方案
  • 网站建设大型企业入门seo技术教程
  • 服装网站栏目调研网站导航栏下载
  • wordpress模板站如何安装扬州外贸网站seo
  • 网站建设咨询公司地址怎么做蒙文网站
  • 行业网站怎么建设小说网站开发文档
  • 公司网站的栏目设置深圳做网站服务
  • 如何提高网站的收录率和收录量11网站建设waocc
  • 社区网站怎么做婚纱摄影网站定制
  • 建设部网站1667号菠菜网站怎样做安全
  • 营销网站建设报价为了推出企业网站建设
  • 如何增加网站pr值网易云邮箱
  • 平台型网站如何推广网站开发辛苦吗
  • 点开图片跳到网站怎么做的ps平面设计主要做什么
  • 手机移动端网站怎么做dw做网站怎么发布