微服务系列实践 .NET CORE

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

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

640?wx_fmt=png

实践部署架构图

实践源码: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

640?wx_fmt=png

640?wx_fmt=png

系列导航目录

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

  • 工作单元支持

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

框架架构图

640?wx_fmt=png

总结

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

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

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

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2607 [ZJOI2008]骑士

P2607 [ZJOI2008]骑士 题意: n个点n个边,每个点都有权值,相邻的点不能同时选择,问如何选择能使得权值最大 题解: 这个题很有P1352 没有上司的舞会这个题的感觉,唯一的区别是那个题保证是树,…

模板:线段树优化建图

前言 百川到海,天下归一 解析 线段树优化建图是用于对一个区间的点连边时的优化方法 建一棵in树一棵出树分别往上和下指即可 大概长这样 (pia的洛谷的照片) 建树 正常动态开点即可 void build(int &k,int l,int r){tr[ktot](tree){0…

Binary Search

01 分数划分 什么 01 分数划分,叫 Binary Search 多好。 P1642 规划 可以二分答案 \(x\),考虑选择 \(n-m\) 个数使得答案 \(\ge x\)。 \[\dfrac{\sum w(i)}{\sum c(i)}\ge x \]\[\sum w(i)\ge \sum (x\times c(i)) \]\[\sum(w(i)-x\times c(i))\ge 0 \]之…

CF1556F-Sports Betting【状压dp,数学期望】

正题 题目链接:https://www.luogu.com.cn/problem/CF1556F 题目大意 nnn个点的一张竞赛图,每个点有一个权值aia_iai​,(i,j)(i,j)(i,j)之间的边iii连jjj的概率是aiaiaj\frac{a_i}{a_ia_j}ai​aj​ai​​,否则jjj连iii。 现在期望有多少个点…

[非旋平衡树]fhq_treap概念及模板,例题:普通平衡树,文艺线段树

文章目录概念全套模板push_up模板split拆树模板(按权值拆)split拆树模板(按个数拆)merge合并模板(地址版)merge合并模板(带返回根)区间模板insert插入模板delete删除模板find_kth找第k大模板get_rank找排名模板pre找前驱模板suf找…

P4381 [IOI2008]Island

P4381 [IOI2008]Island 题意: 给你一棵基环树森林,求出基环树的直径之和. 题解: 对于基环树,我们将环看作根,那么直径有两种情况:: 1.不经过环,也就是环上某个点的子树内部,对于这种情况,直接在子树内部处理直径,更新答案即可; 2.经过环…

20210912模拟

文章目录总结复盘总结 190pts 50403070 今天吸取了昨天的教训,没有再像之前一样先死磕一道题,把命运押在切题上,整体时间分配还算合理 要认真审题! 今天T1少看了条件,T4一开始看错题意浪费了时间… 复盘 先看题 乍…

surging 微服务引擎 1.0 正式发布

surging 是一个分布式微服务引擎,提供高性能RPC远程服务调用,服务引擎支持http、TCP、WS、Mqtt协议,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希一致性,随机,轮询、压力最小优先作为负载均衡的算法,底…

CF1594F-Ideal Farm【构造】

正题 题目链接:https://www.luogu.com.cn/problem/CF1594F 题目大意 给出n,s,kn,s,kn,s,k,求是否所有的长度为nnn且和为sss的正整数序列都有一段和为kkk的区间。 1≤T≤105,1≤n,s,k≤10181\leq T\leq 10^5,1\leq n,s,k\leq 10^{18}1≤T≤105,1≤n,s,k≤1018 解题…

P4178 Tree

P4178 Tree 题意: 给定一棵 n 个节点的树,每条边有边权,求出树上两点距离小于等于 k 的点对数量。 题解: 点分治的模板题是求等于K的路径条数 本题是求小于等于K的路径条数,我们只需要改变统计答案即可 原本统计答…

YBTOJ:彩色圆环

文章目录前言题目描述InputOutputSample InputSample Output解析代码前言 尽信书,则不如无书 题目描述 Input 仅有一行,该行给出依次两个正整数N, M,分别表示宝石的个数和宝石在变化时可能变成的颜色种类数。 Output 应仅有一行&#xff0…

【2019CSP-J 普及组题解】数字游戏(number),公交换乘(transfer),纪念品(souvenir),加工领奖(work) CSP普及游记

文章目录T1:数字游戏题目CODET2:公交换乘题目CODET3:纪念品题目题解CODET4:加工领奖题目题解CODE关于普及组的想法&游记T1:数字游戏 题目 小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏&…

搭建基于Docker社区版的Kubernetes本地集群

Kubernetes的本地集群搭建是一件颇费苦心的活,网上有各种参考资源,由于版本和容器的不断发展,搭建的方式也是各不相同,这里基于Docker CE的18.09.0版本,在Mac OS、Win10下分别搭建了一次。一、Mac OS下搭建安装Docker …

【做题记录】统计区间(哈希/扫描线)

交题链接 给你一个长度为 \(n(n\le 10^6)\) 的序列,其中每个元素都在 \([1,n]\) 范围中。 询问有多少个区间满足区间中的元素都恰好出现 \(2\) 次。 \(\texttt{solution}~\texttt{1:}\) 哈希 我们考虑如果元素个数 \(\le 64\) 时我们怎么做: 给每个元素分…

2021牛客OI赛前集训营-交替【生成函数】

正题 题目链接:https://ac.nowcoder.com/acm/contest/20108/B 题目大意 给出一个长度为nnn的序列aaa&#xff0c;每次 如果nnn是偶数&#xff0c;则对于所有的i<ni<ni<n令新的ai′ai′ai1′a_ia_ia_{i1}ai′​ai′​ai1′​如果nnn是奇数&#xff0c;则对于所有的i…

Infinite Tree

Infinite Tree 题意&#xff1a; 题解&#xff1a; 参考博客 看了好一阵子才明白。。。emm。 我们先按照题意画出一部分树 我们先不考虑复杂度&#xff0c;这题应该怎么做&#xff1f; 题目给了每个点的权值w[i]&#xff0c;问一个点到所有的节点路径长度*点权之和最小是多少…

模板:高斯消元

文章目录前言解析step1 选择主元代码step2 消元step3代码完整代码高斯消元&#xff0c;就是按照高斯的方法消元 前言 考虑我们手算是如何解多元线性方程组的 要么加减消元&#xff0c;要么代入消元 但显然对于编程来说&#xff0c;加减消元更具有普适性 如何进行呢&#xff1f…

IdentityServer4-从数据库获取User登录并对Claims授权验证(五)

本节将在第四节基础上介绍如何实现IdentityServer4从数据库获取User进行验证&#xff0c;并对Claim进行权限设置。一、新建Web API资源服务&#xff0c;命名为ResourceAPI&#xff08;1&#xff09;新建API项目&#xff0c;用来进行user的身份验证服务。&#xff08;2&#xff…

周末狂欢赛1(玩游戏/Game,函数,JOIOI王国)

狂欢1T1&#xff1a;玩游戏 / Game题目题解代码实现T2&#xff1a;函数题目题解代码实现T3&#xff1a;JOIOI王国题目题解代码实现T1&#xff1a;玩游戏 / Game 题目 ljcc 和他的学妹在玩游戏&#xff0c;这个游戏共有 n 轮&#xff0c;在第 i 轮获胜会获得 i 分&#xff0c;…

CF1286D-LCC【动态dp,数学期望】

正题 题目链接:https://www.luogu.com.cn/problem/CF1286D 题目大意 nnn个粒子&#xff0c;第iii个在xix_ixi​&#xff0c;速度是viv_ivi​&#xff0c;有pi100\frac{p_i}{100}100pi​​的概率朝左飞&#xff0c;有1−pi1001-\frac{p_i}{100}1−100pi​​的概率往右飞&#x…