.NET CORE微服务实践

.NET CORE微服务实践

https://www.cnblogs.com/zengqinglei/p/9570343.html

.NET CORE
img_1
实践部署架构图
实践源码:https://github.com/zengqinglei/microservice-deploy

为了更加接近生产环境的部署方式,我们使用vmware创建如下几台主机:

centos-02:192.168.0.102 应用集群节点-2
centos-03:192.168.0.103 应用集群节点-3
ubuntu-04:192.168.0.104 应用集群节点-4
ubuntu-05:192.168.0.105 数据库节点-5
虚拟IP:192.168.0.110
img_2
main-1
img_3
mic-service-arc

系列导航目录
由于文章中涉及内容较多,所以其中如设计docker构建、配置等复杂教程都会引导大家去github查看详情,大家注意一下引导链接地址,文章中尽可能通过简要的原理及对于微服务架构的作用配合图讲解,让文章更加通俗易懂。

  1. 微服务系列介绍
  2. 搭建服务器(cenos + ubuntu)环境
  3. 搭建docker,docker-compose环境
  4. 负载集群及高可用(keepalived + nginx)
  5. 搭建consul集群服务发现、注册、健康检查环境
  6. 搭建mysql,sqlserver数据库环境
  7. 搭建携程Apollo集群统一配置中心
  8. 基于Skywalking的服务跟踪及性能监控
  9. 搭建统一服务日志中心
  10. .NET CORE 微服务示例
  11. 集群完整版
    推荐一下我的 Asp.Net Core 框架
    名称:Creekdream.AspNetCore
    开源地址:http://github.com/zengqinglei/Creekdream.AspNetCore

简单介绍
我自己的框架参考了一些Abp框架,根据近一两年针对微服务开发设计,总结开发出来的。
首先,说明一下Abp框架确实很优秀,但随着微服务的发展,框架整体相对较为臃肿,模块化设计不够彻底,核心类库都依赖了各种接口的实现,我们团队在使用的过程中可能由于不熟悉会导致一些莫名的问题,再加上微服务盛行,使得更多的模块变得没有必要。

微软的 .NET CORE 已经做到很优秀,提供Service注入统一入口,中间件、日志、依赖注入的加入等,使得模块化以及开发模式的规约都使得开发变得更加规范可控,框架的设计原则尽可能遵从 .NET CORE 的设计理念。

简要特点
分离模块化,独立模块都有自己的核心库
依赖注入,抽象使其能替换依赖注入框架
DDD领域分层
提供快捷生成项目模板
提供EntityframeworkCore以及Dapper两种ORM
工作单元支持
核心模块仅依赖必要的接口
框架架构图
app-arc
img_5
总结
本次微服务系列从基本概念到一步步的基础设施的搭建最后晚上的一套服务架构体系,用完全docker化的方式给大家呈现,方便根据实际的生产或者测试环境进行调整。
微服务之路是漫长的,我们仍还需要很多工作要做,在工作中,根据业务需求划分边界,微服务API的定义,服务内部的模块划分都需要我们花更多的时间去推敲。

原文地址:https://www.cnblogs.com/Leo_wl/p/10219938.html