jimu 微服务框架简介

jimu是一个基于.Net6.0开发的微服务框架,旨在提供简单易用的微服务解决方案。该框架参考了众多开源库和思想,充分利用了诸如DotNetty、consul.net、Flurl.Http、Json.net、Log4net和Quartz.net等开源库,支持分布式架构、高并发和负载均衡,实现了服务治理的功能,如服务注册、发现、健康检测和RPC调用。

jimu(积木)的中文名赋予了此框架开发项目的期望:像搭积木一样简单、快速和可控。希望通过jimu框架,使项目安全、可靠、稳定,整体架构可拓展、高并发和分布式。

  1. 使用 Apache License 2.0 开源协议
  2. jimu最核心的思想是IOC(控制反转)和DI(依赖注入),通过配置文件使用了autofac将组件注入到框架中,用组件来驱动框架,使框架更具弹性。
  3. 服务注册与发现: consul
  4. 动态网关
  5. 基于DotNetty的RPC
  6. JWT鉴权
  7. 负载均衡:轮询
  8. 容错策略: 重试
  9. 容器发布docker
  10. 路由配置:Attribute注解
  11. 日志记录:log4net, nlog
  12. Api文档: swagger
  13. 链路跟踪: skywalking
  14. RESTful: Attribute注解
  15. 健康监测
  16. 文件上传下载:多文件和单文件
  17. uri跳转: 服务端跳转指定的URL
  18. ORM:Dapper
  19. DDD: MiniDDD
  20. 缓存:Memcached
  21. 消息队列:RabbitMq

启动consul;

设置Samples/ApiGateway, Samples/Server.Auth, Samples/Server.Order, Samples/Server.User为启动项;

打开http://localhost:54762/swagger/index.html

JimuLog4netOptions: Log4net日志组件

JimuNLogOptions: NLog组件

JwtAuthorizationOptions: Jwt授权

ConsulOptions:使用Consul作为服务发现组件

TransportOptions:服务调用的传输组件

ServiceOptions:服务配置

数据库接入Dapper

MiniDDD是一个轻量级的DDD框架,MiniDDD Repository就是基于该框架的数据仓储,支持以下仓储:

  1. Dapper
  2. EF
  3. SqlSugar

JimuLog4netOptions: Log4net日志组件

JimuNLogOptions: NLog组件

JwtAuthorizationOptions: Jwt授权,支持在客户端实现jwt授权,服务端不需要配置

ConsulOptions:使用Consul作为服务发现组件

DiscoveryOptions:客户端会缓存已发现的服务,设定刷新频率

FaultTolerantOptions:服务调用时的容错机制

HealthCheckOptions:根据已发现服务的IP和端口定时进行服务器心跳监测(客户端主动连接)

LoadBalanceOptions

ServiceProxyOptions

TokenGetterOptions

TransportOptions:服务调用的传输组件

未经允许不得转载:大白鲨游戏网 » jimu 微服务框架简介