You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/docs/zh-Hans/Samples/Microservice-Demo.md

2.2 KiB

微服务解决方案示例

"作为面向服务架构(SOA)的一个变体,微服务是一种将应用程序分解成松散耦合服务的新型架构风格. 通过细粒度的服务和轻量级的协议,微服务提供了更多的模块化,使应用程序更容易理解,开发,测试,并且更容易抵抗架构侵蚀. 它使小型团队能够开发,部署和扩展各自的服务,实现开发的并行化.它还允许通过连续重构形成单个服务的架构. 基于微服务架构可以实现持续交付和部署."

维基百科

介绍

ABP框架的主要目标之一就是提供便捷的基础设施来创建微服务解决方案.

此示例演示了一个简单而完整的微服务解决方案;

  • 拥有多个可独立可单独部署的微服务.
  • 多个Web应用程序, 每一个都使用不同的API网关.
  • 使用Ocelot库开发了多个网关 / BFFs (用于前端的后端).
  • 包含使用IdentityServer框架开发的 身份认证服务. 它也是一个带有UI的SSO(单点登陆)应用程序.
  • 多个数据库. 一些微服务有自己的数据库,也有一些服务/应用程序共享同一个数据库(以演示不同的用例).
  • 有不同类型的数据库: SQL Server (与 Entity Framework Core ORM) 和 MongoDB.
  • 有一个控制台应用程序使用身份验证展示使用服务最简单的方法.
  • 使用Redis分布式缓存.
  • 使用RabbitMQ做服务间的消息传递.
  • 使用Kubernates部署和运行所有的服务和应用程序.

下图显示了该系统:

microservice-sample-diagram

源码

你可以从GitHub仓库获取源码.

状态

此示例仍处于开发阶段,尚未完成.

微服务

身份认证服务

...