从事这个行业转眼已经6年了,从当初刚毕业的在北京朝八晚十,从二环到五环,仍每天精力充沛的小愤青;再到深圳一点一滴的辛勤在软件行业的耕种,从当初单体应用架构到现在微服务架构的经历,回想起来自己的收获倒是不少。人生也许算是比较平淡,运气到也还算不错,做过的项目刚好让我在这些方面能有不错的认知和自我学习的空间。

本来这个系列能带来的更早,奈何去年打王者荒废了太多的时间(有点收获的可能就是连续三赛季王者了),好在自己还算醒悟及时,最近看到微服务的所使用的框架或者工具倒也是非常多,但大多都需要自己研究的内容太多,而且由于少有的docker化,很难再实际生产环境灵活的应用,这次带来全docker化的实战体验。

实践部署架构图

实践源码:https://github.com/zengqinglei/microservice-deploy

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

  1. centos-02:192.168.0.102 应用集群节点-2

  2. centos-03:192.168.0.103 应用集群节点-3

  3. ubuntu-04:192.168.0.104 应用集群节点-4

  4. ubuntu-05:192.168.0.105 数据库节点-5

虚拟IP:192.168.0.110

系列导航目录

由于文章中涉及内容较多,所以其中如设计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

  • 工作单元支持

  • 核心模块仅依赖必要的接口

框架架构图

总结

本次微服务系列从基本概念到一步步的基础设施的搭建最后晚上的一套服务架构体系,用完全docker化的方式给大家呈现,方便根据实际的生产或者测试环境进行调整。
微服务之路是漫长的,我们仍还需要很多工作要做,在工作中,根据业务需求划分边界,微服务API的定义,服务内部的模块划分都需要我们花更多的时间去推敲。

最后呢,这两年 .NET 在国内实在有些低迷,从接触 .NET CORE 到现在真心感觉到它的优秀,也希望我们能共同在 .NET 方面能贡献出更多的力量,能帮助它发展的越来越好!

原文地址: https://www.cnblogs.com/zengqinglei/p/9570343.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

微服务系列实践 .NET CORE相关推荐

  1. 01.微服务系列介绍

    微服务系列实践 .NET CORE 在开始之前呢,还是得废话一下,毕竟还是需要介绍一下这个系列我们要实现什么样的一套服务架构,也让大家能初步的有一个了解,后续实践起来也有一个完整的概念,相对也会容易的 ...

  2. .NET Core微服务系列基础文章索引(目录导航Final版)

    一.为啥要总结和收集这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有 ...

  3. 微服务系列(五):事件驱动的数据管理

    编者的话|本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第三篇描述了微服务架构模块 ...

  4. 微服务治理实践:服务查询

    来自:阿里巴巴中间件 本文是<微服务治理实践>系列篇的第二篇文章,为大家介绍如何实现服务查询.该系列文章基于阿里云商业化产品 EDAS 的微服务实践,如果你的团队具备较强的微服务治理能力, ...

  5. 微服务系列(七):将单体应用改造为微服务

    编者的话|本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第三篇描述了微服务架构模块 ...

  6. 微服务治理实践:服务契约

    简介:随着微服务架构越来越流行,越来越多的公司使用微服务框架进行开发.甚至不止是公司,连笔者的研究生导师都要对实验室的Spring Boot工程项目转型使用微服务框架了. 本文是<微服务治理实践 ...

  7. 微服务治理实践:如何对单点异常进行自动摘除

    微服务架构下,稳定性和高可用性一个永恒的话题,在实际的治理过程中,我们有可能会遇到以下场景: 某个应用灰度发布,先上了几台机器,由于代码逻辑写的有问题,造成线程池满,出现运行异常. 服务端集群中,某几 ...

  8. micro、M3O微服务系列(一)

    本系列以go,micro3为主 文章目录 软件开发的预测 什么是微服务 为什么使用微服务 什么是micro 理清微服务的关键字 微服务必然涉及的服务发现 使用go和micro构建全球服务网络 隧道 路 ...

  9. 华为专家 | 轻量化微服务测试实践

    转自:https://cloud.tencent.com/developer/article/1035280 前言 在我过去工作的这十年间,IT行业经历了很多的变迁,从单体架构到微服务架构,从传统组织 ...

最新文章

  1. 是否可以人为修改发表时间
  2. java question_Core Java Question List No3
  3. Docker学习笔记之保存和共享镜像
  4. Python并发Gevent库(一)
  5. Android赚钱的方法--界面嵌入有米广告(持续关注中)
  6. 2020-11-28(不定参数的函数)
  7. VMware发布面向未来的员工工作解决方案,满足分散办公需求
  8. android上层应用apk到G-sensor driver的大致流程
  9. viewpager 获取当前现实的view
  10. Python安装包的多种方式
  11. 百度网盘提取码_利用审查元素自定义百度网盘提取码教程 无需工具
  12. 工作绩效数据 工作绩效报告 偏差分析 变更控制流程 变更控制委员会
  13. 函数默认参数的TDZ
  14. 2022数学建模国赛ABC题思路
  15. Python画爱心——谁能拒绝用代码敲出来会跳动的爱心呢~
  16. 如何用python爬取新浪财经
  17. 批量安装当前文件夹下的exe文件
  18. 如何做一个搜索引擎友好的站点?
  19. JAVA中的糕富帅技术
  20. 树莓派Zero W发布;亚马逊 AWS S3 服务出现故障 | IoT黑板报

热门文章

  1. .gitignore文件将已经纳入版本管理的文件删除
  2. leetcode 128最长连续序列
  3. lvs+keepalived详解
  4. 使用Java实现K-Means聚类算法
  5. C#如何用正则表达式截取https和带端口的域名
  6. Elasticsearch5.X的java配置
  7. Xtrabackup备份MySQL
  8. bzoj3224 Tyvj 1728 普通平衡树题解--Treap
  9. 配置Tomcat的日志系统
  10. 基于mini2440的ov9650摄像头裸机测试