{"repo":"grissomlau/jimu","free":true,"listed":false,"github":"https://github.com/grissomlau/jimu","clone":"git clone https://github.com/grissomlau/jimu.git","description":".netcore micro service framework","language":"C#","stars":358,"topics":["microservice","rpc","http","swagger","consul","log4net","nlog","jwt","dapper","net6"],"license":"Apache-2.0","category":"auth-billing-email","readme_excerpt":"Description jimu 是一个基于.Net6.0 简单易用的微服务框架，参考了很多开源库以及想法，使用了大量的开源库（如 DotNetty, consul.net, Flurl.Http, Json.net, Log4net, Quartz.net ... ）, 支持分布式、高并发和负载均衡， 实现了服务治理（如服务注册、发现、健康检测 ...）和 RPC 调用。 jimu(积木)，正如其中文名，希望用她来开发项目像搭积木一样简单快速可控，使项目安全可靠稳定，整体架构可拓展、高并发、分布式。 更多详情，查看 Wiki 这里感谢 RabbitTeam 开源的 RabbitCloud (2018)，因为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 Quick Start 请下载 jimu 源码, 或者下载项目 jimu.demo Install 1. 启动 consul； 2. 设置 Samples/ApiGateway, Samples/Server.Auth, Samples/Server.Order, Samples/Server.User 为启动项； 3. 打开 http://localhost:54762/swagger/index.html 配置 服务端 日志 1. JimuLog4netOptions: Log4net 日志组件 2. JimuNLogOptions: NLog 组件 授权 1. JwtAuthorizationOptions: Jwt 授权 服务发现 1. ConsulOptions： 使用 Consul 作为服务发现组件 服务调用协议 1. TransportOptions： 服务调用的传输组件 服务 1. ServiceOptions： 服务配置 ORM 数据库接入 1. Dapper MiniDDD Repository MiniDDD 是一个轻量级的 DDD 框架， MiniDDD Repository 就是基于该框架的数据仓储，支持以下仓储 1. Dapper 2. EF 3. SqlSugar 客户端 日志 1. JimuLog4netOptions: Log4net 日志组件 2. JimuNLogOptions: NLog 组件 授权 1. JwtAuthorizationOptions: Jwt 授权，支持在客户端实现 jwt 授权，服务端不需要配置 服务发现 1. ConsulOptions： 使用 Consul 作为服务发现组件 服务","default_branch":null,"files":null,"tree":[],"storefront":"/r/grissomlau","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/grissomlau/jimu/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}