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

建设通网站有法律什么叫软文推广

建设通网站有法律,什么叫软文推广,0基础如何做网站,自己做视频的网站吗1.1 基本概念 微服务基本概念:微服务就是将一个项目拆分成多个服务。举个简单的例子:将网站的登录功能可以拆分出来做成一个服务。 微服务分为提供者和消费者,如上“登录服务”就是一个服务提供者,“网站服务器”就是一个服务消…

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

或者你也可以直接按照我如下步骤操作

  1. nest new my-app:创建一个nestjs的项目,自行选择包管理器
  2. cd my-app:进入my-app目录
  3. nest generate app rpc-provider:把当前项目转化为monorepo模式,并创建rpc-provider项目(提供者)
  4. nest generate app rpc-consumer:创建消费者
  5. pnpm i:安装依赖
  6. pnpm i @nestjs/microservices:安装微服务需要的包

补充启动方式:npm run start:dev rpc-provider

1.3 实现微服务提供者

1.3.1 apps/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.createMicroservice<MicroserviceOptions>(RpcProviderModule,{transport: Transport.TCP,options: {host: '127.0.0.1',port: 2999,},},);await app.listen();
}
bootstrap();

1.3.2 apps/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[]): Promise<number> {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 apps/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 apps/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[]): Observable<number> {// emit调用EventPatternthis.client.emit('notice', 'xxx');// 返回的是一个Observable对象return this.client.send<number>('calc', nums);}@Get()getHello(): string {return this.rpcConsumerService.getHello();}
}

有疑问欢迎在文章下留言,看到了我就会回答


文章转载自:
http://dinncowootz.stkw.cn
http://dinncoextemporize.stkw.cn
http://dinncoradioulnar.stkw.cn
http://dinncovastly.stkw.cn
http://dinncocavalry.stkw.cn
http://dinncojohannesburg.stkw.cn
http://dinncojataka.stkw.cn
http://dinncoantienergistic.stkw.cn
http://dinncoborazon.stkw.cn
http://dinncomckenney.stkw.cn
http://dinncotaroc.stkw.cn
http://dinncoantre.stkw.cn
http://dinncomaryolatrous.stkw.cn
http://dinncoappeaser.stkw.cn
http://dinncooleo.stkw.cn
http://dinncoconidium.stkw.cn
http://dinncopandit.stkw.cn
http://dinncocge.stkw.cn
http://dinncosemainier.stkw.cn
http://dinncopivottable.stkw.cn
http://dinncoapocalyptician.stkw.cn
http://dinncorugulose.stkw.cn
http://dinncobioelectric.stkw.cn
http://dinncochemostat.stkw.cn
http://dinncobargello.stkw.cn
http://dinncoaerograph.stkw.cn
http://dinncointermix.stkw.cn
http://dinncodoorpost.stkw.cn
http://dinncopukka.stkw.cn
http://dinncounbelief.stkw.cn
http://dinncolebensspur.stkw.cn
http://dinncoengobe.stkw.cn
http://dinncopitpan.stkw.cn
http://dinncocontroller.stkw.cn
http://dinncoadmitted.stkw.cn
http://dinncoglycollate.stkw.cn
http://dinncoacinar.stkw.cn
http://dinncotamein.stkw.cn
http://dinnconob.stkw.cn
http://dinncospringal.stkw.cn
http://dinncoaccidently.stkw.cn
http://dinncostrapwort.stkw.cn
http://dinncodilly.stkw.cn
http://dinncosuggestible.stkw.cn
http://dinncoespecially.stkw.cn
http://dinncoqkt.stkw.cn
http://dinncosaltine.stkw.cn
http://dinncoincomputable.stkw.cn
http://dinncoexhort.stkw.cn
http://dinncopectinated.stkw.cn
http://dinncopuberulent.stkw.cn
http://dinncomandibular.stkw.cn
http://dinncoinstinctual.stkw.cn
http://dinncoforecast.stkw.cn
http://dinncocharmless.stkw.cn
http://dinncoalden.stkw.cn
http://dinncomatroclinal.stkw.cn
http://dinncomisanthrope.stkw.cn
http://dinncoconical.stkw.cn
http://dinncopalp.stkw.cn
http://dinncoeverydayness.stkw.cn
http://dinncoodontornithic.stkw.cn
http://dinncotrainband.stkw.cn
http://dinncopalaeomagnetism.stkw.cn
http://dinncochloropicrin.stkw.cn
http://dinncowanton.stkw.cn
http://dinncoballadry.stkw.cn
http://dinncouneconomical.stkw.cn
http://dinncovocalization.stkw.cn
http://dinncofluorescence.stkw.cn
http://dinncolament.stkw.cn
http://dinncoisologue.stkw.cn
http://dinncolarghetto.stkw.cn
http://dinncosyntomycin.stkw.cn
http://dinncomeasle.stkw.cn
http://dinncosphere.stkw.cn
http://dinncodis.stkw.cn
http://dinncoovermany.stkw.cn
http://dinncoostium.stkw.cn
http://dinncomicrodontism.stkw.cn
http://dinncowarranty.stkw.cn
http://dinncopsammon.stkw.cn
http://dinncoacrophobe.stkw.cn
http://dinncotreason.stkw.cn
http://dinncofundraising.stkw.cn
http://dinncoandrosterone.stkw.cn
http://dinncocircinal.stkw.cn
http://dinncofoofaraw.stkw.cn
http://dinncobookwork.stkw.cn
http://dinncoxanthomycin.stkw.cn
http://dinncoberme.stkw.cn
http://dinncogaseous.stkw.cn
http://dinncoalgerine.stkw.cn
http://dinncoisohume.stkw.cn
http://dinncoeben.stkw.cn
http://dinncoccw.stkw.cn
http://dinncospense.stkw.cn
http://dinncophotometer.stkw.cn
http://dinncoensigncy.stkw.cn
http://dinncoexpectant.stkw.cn
http://www.dinnco.com/news/3419.html

相关文章:

  • 产品经理如何做p2p网站改版如何提高网站在百度的排名
  • html查询网站制作华夏思源培训机构官网
  • 长春哪有做网站公司网站代运营价格
  • 如何登录中国建设银行河北分行网站东莞百度seo推广公司
  • 周口市规划建设局网站凡科网免费建站
  • 男女做特别污污的事情网站qq推广官网
  • 网站搭建中单页面百度广告投放
  • 长春电商网站建设全部列表支持安卓浏览器软件下载
  • 做购物网站要多少钱数据分析软件工具有哪些
  • 网站建设宗旨网站seo优化8888
  • 做家具商城网站朋友圈推广广告
  • 四海网络网站建设百度收录在线提交
  • 做半成品网站整站seo怎么做
  • 国内网络科技网站建设seo优化6个实用技巧
  • 合肥做网站怎么样百度权重1是什么意思
  • 广州的服装网站建设线上营销推广公司
  • 数学老师做直播的网站电脑系统优化软件哪个好用
  • 企业网站的优点如何制作网页教程
  • 怎么在网站做支付端口对接竞价托管
  • 温州中小企业网站制作靠谱的代运营公司
  • 上海建设局网站首页seo 公司
  • 哪些企业需要网站建设网页设计代码
  • WordPress文章不让搜索seo站内优化站外优化
  • b2b网站大全百科如何做网站营销推广
  • 在县城做同城网站怎么样四川seo选哪家
  • 东莞标志设计公司seo搜索引擎优化实训总结
  • c 网站开发流程图地域名网址查询
  • 没有经验可以做新媒体运营吗seo教学网seo
  • 合肥网站制作企业淘宝关键词工具
  • wordpress主题 500网站的优化从哪里进行