微服务项目启动顺序_构建自己的简单微服务架构(开源)——上篇

前言

本篇仅作引导,内容较多,故分为上下两篇,如果阅读不方便,可以使用电脑打开我们的文档官网进行阅读。如下图所示:

3d8d47c804820847626a4c81c043b0ca.png

文档官网地址:https://docs.xin-lai.com/


目录

总体介绍

  • 微服务架构的好处
  • 微服务架构的不足(这个时候就需要用到服务发现)
  • 传统模式
  • Ocelot(网关)模式
  • 集成IdentityService(认证)
  • 集成consul(服务发现)

基于Ocelot搭建一个简单的微服务架构

  • Ocelot
  1. 基本集成
  2. 添加Ocelot
  3. 添加测试API项目
  4. 配置项目的上游请求对象(ocelot.json)
  5. 启动结果
  • 聚合API文档(SwaggerUI)
  1. ConfigureServices
  2. Configure
  3. appsettings.json
  4. 配置Swagger的上游请求对象(ocelot.json)
  5. 启动结果
  • IdentityServer 集成
  1. 添加授权服务项目
  2. 配置appsetting.json
  3. 添加IdentityServerConfig类

定义API资源

定义身份资源

定义测试客服端

  • 配置Startup
  1. ConfigureServices
  2. Configure
  3. 启动结果
  4. 配置ApiGateway网关项目
  5. 调用Ocelot管理API
  6. API方法
  • Consul(服务发现)
  1. 本地部署
  2. 安装
  3. 添加服务配置
  4. 添加检查配置
  5. docker部署(腾讯云)
  6. 配置Ocelot 网关
  • 集成消息队列——CAP
  1. 简介
  2. 环境准备
  3. .Net Core 集成 CAP

Cap 发布

Cap 订阅(接收)

最后——附上总体代码


总体介绍

随着业务需求的快速发展变化,需求不断增长,迫切需要一种更加快速高效的软件交付方式。微服务可以弥补单体应用不足,是一种更加快速高效软件架构风格。单体应用被分解成多个更小的服务,每个服务有自己的独立模块,单独部署,然后共同组成一个应用程序。把范围限定到单个独立业务模块功能。分布式部署在各台服务器上。本篇我们将介绍如何使用.NET Core打造自己的微服务架构。

注意:微服务架构不是万能药,本篇仅供参考和探讨。对于大部分小项目来说,请不要为了微服务而微服务。毕竟技术不是万能的,技术是为业务服务的。


微服务架构的好处

  • 单个服务很容易开发、理解和维护。
  • 每个服务都可以有专门开发团队来开发。
  • 每个微服务独立的部署。
  • 每个服务独立扩展。

微服务架构的不足(这个时候就需要用到服务发现)

  • 微服务应用是分布式系统,由此会带来固有的复杂性。
  • 服务地址目录,服务健康度,部署困难,服务依赖问题,数据库分区问题。

传统模式

3c852460a26482098fb6b35af9160510.png

Ocelot(网关)模式

c47945c3427215d9e9ba5a0cf7c3fb99.png

集成IdentityService(认证)

4fa578315b965a16facfce8e1cd308a4.png

集成consul(服务发现)

f356a839f676c387e3dcaddd56371402.png

基于Ocelot搭建一个简单的微服务架构

Ocelot

Ocelot 是一个仅适用于 .Net Core 的网关组件。Ocelot

中间件使用非常简单,难的点在于如何去配置。它的功能包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器等的集成,而这些功能都是通过配置实现。

Ocelot的开源地址:https://github.com/ThreeMammals/Ocelot

Ocelot官网地址:https://ocelot.readthedocs.io/en/latest/index.html

基本集成

a529428384ad2dadcbbe2247f52c8b83.png

添加Ocelot

新建一个 .Net core 2.2 web 项目(ApiGateway),添加以下Nuget包:

  • Ocelot
  • Ocelot.Administration Ocelot支持在运行时通过经过身份验证的HTTP
  • API更改配置。这可以通过两种方式进行身份验证:使用Ocelot的内部IdentityServer(仅用于验证对管理API的请求)或将管理API身份验证挂钩到您自己的IdentityServer中。
  • Ocelot.Cache.CacheManager CacheManager.Net扩展包
  • Ocelot.Provider.Polly Polly.NET扩展包

在项目根目录添加ocelot.json,名字可以自取。

9cfed568394cf85bda7e9a74a09f70c0.png

前面说了,所有功能都是通过配置实现的,所以配置也相对复杂。配置有两个部分。一组ReRoutes和一个GlobalConfiguration。ReRoutes是告诉Ocelot如何处理上游请求的对象。GlobalConfiguration顾名思义是全局配置,具体配置请查看官网。下面列举简单配置

{"GlobalConfiguration": {//外部访问路径"BaseUrl": "http://localhost:13000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值