微服务架构深度解析与最佳实践 - 第七部分:全文总结与引用材料

article/2025/9/8 15:11:35

微服务架构深度解析与最佳实践 - 第七部分

微服务架构深度解析与最佳实践 - 第七部分

最佳实践的总结

 

林林总总说了这么多的微服务架构相关的知识也好,经验也罢,不一定适合每个希望做微服务系统的技术人员的实际需求。“道无常道,法无常法,君子审时度势,自可得而法”。实际项目里需要做哪些工作,采取哪些策略,先后运用哪些步骤,都需要因地制宜,借鉴各种“他山之石”,综合考虑。

 

微服务架构的最佳实践,其实就是把微服务架构的条条框框都思考一遍,这一条到底解决了什么问题,适用于什么场景,对我现在的工作有没有帮助,考虑清楚了以后彻底的忘掉这些“有为法”。然后用自己的思考成果去解决工作中遇到的各类问题,就算是真正学会了微服务。问题永远存在,解决掉遇到的问题,是推动技术发展,促进组织进步,提升个人技术能力的不二法门。

 

过去的几十年里,技术发展的越来越丰富,体系越来越庞大,业务系统越来越复杂,正像是《人月神话》中形容的那样:

 

“史前史中,没有别的场景比巨兽们在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。”

 

 

如何才能逃离“焦油坑”,目前看来使用“微服务架构”的指导思想,去解决复杂业务系统研发中的各类问题,是一个明确的解决办法。没有什么比去解决实际问题、让系统变好更重要。系统变好了,我们的技术也变好了,公司的业务也支持的更好了,业务好了则行业也发展的更好了,行业好了就会让整个国家和民族都更好了。所以,解决问题是关键。

 

万维钢老师在《精英日课》里说“这个世界上的问题,分为三类”:

 

第一类是目标明确、路径明确的,比如你上高中的时候,你知道把几门功课都学好,就能上个好大学,这就是一个单纯问题,但是可以看到,单纯问题也可能是非常难的。钱能直接解决的问题,一般也是这类问题。

第二类是两难问题,选择就意味着放弃,比如两个女孩喜欢你,一个有钱,一个漂亮,选了有钱的就不漂亮,选了漂亮的就没有钱。路径很明确,但你面临的痛苦不是因为问题很难,而是不管你怎么处理,都需要付出失去的代价,放弃潜在的另一些可能,会在将来造成实际的损失。你跟小张结了婚,10 年后天天吵架,后悔没有取晓丽,红玫瑰与白玫瑰。

第三类问题,我们叫棘手问题,这类问题,即可能没有特别明确的目标,而且也没有任何人能告诉你一个明确的路径,你现在做了什么努力,可能也短时间看不到效果,做好了不一定有很大成果,做不好肯定要背锅。大家可能都知道这个问题在,就是没有人去解决或者能去解决。最关键是,从外部的一些人看来,这些问题,很像是一个单纯问题。这特么就扯淡了。

 

而现在看来,微服务架构的这些知识和实践,包括最近几年大家在响应式微服务架构(Reactive MicroServices Architecture)、服务网格(Service Mesh)做得一些工作,恰恰就是给怎么去处理“复杂业务系统研发”这个棘手问题,带来了一个比较明确的路径,指引着大家逐渐的把这个棘手问题变成一个单纯问题,然后用各种新的思想和武器去解决它。

 

最后给大家分享一个今天看到的微服务和中台的段子:

 

Q:大师大师,微服务拆多了怎么办?

A:那就再合起来啊。

Q:那太没面子了啊。

A:你就说你已经跨越了微服务初级阶段,在做中台了。

参考材料

  1. 《高可用可伸缩微服务架构:基于 Dubbo、Spring Cloud 和 ServiceMesh》,程超,梁桂钊,秦金卫,方志斌,张逸 ... 著,https://item.jd.com/12585284.html,https://msainaction.github.io

  2. 《软件架构发展历程分享》,kimmking,https://gitbook.cn/gitchat/activity/5a795024b939c9068a20dd37

  3. 《Microservices: a definition of this new architectural term》,James Lewis,Martin Fowler,https://martinfowler.com/articles/microservices.html

  4. 《Microservices Guide》,James Lewis,Martin Fowler,https://www.martinfowler.com/microservices/

  5. 《什么是微服务》,Chris Richardson,https://www.nginx.com/blog/introduction-to-microservices/

  6. 《什么是反应式微服务?》,Jonas Bonér, Co-Founder & CTO, Lightbend, Inc.,https://www.oreilly.com/ideas/what-is-a-reactive-microservice

  7. 《Reactive Microservices Architecture: Design Principles For Distributed Systems》,Jonas Bonér, Co-Founder & CTO, Lightbend, Inc.,https://www.lightbend.com/ebooks/reactive-microservices-architecture-design-principles-for-distributed-systems-oreilly

  8. 《使用聚合、事件溯源和 CQRS 开发事务型微服务(第一部分)》,Chris Richardson,https://www.infoq.cn/article/microservices-aggregates-events-cqrs-part-1-richardson

  9. Peter Lawyer 博客,https://vanilla-java.github.io

  10. 微服务性能,Peter Lawyer,https://vanilla-java.github.io/2016/03/22/Micro-services-for-performance.html

  11. 《著名的推特论战:Microservices vs. Monolithic》,TodHoff,https://www.csdn.net/article/2014-08-06/2821078

  12. 《微服务设计》,Sam Newman,https://info.thoughtworks.com/Building-Microservices-Book-Sam-Newman-book-chapter-confirmation-page.html

  13. Unix 哲学,https://en.wikipedia.org/wiki/Unix_philosophy

  14. 《管理的常识》,陈春花

  15. 《反应式设计模式》,Roland Kuhn、Brian Hanafee、Jamie Allen

  16. 《数据密集型应用系统设计》,Martin Kleppmann

  17. 分布式事务,张亮,https://shardingsphere.apache.org/document/current/cn/features/transaction/

  18. Apache ShardingSphere,张亮,https://shardingsphere.apache.org

  19. 应该如何理解 Erlang 的「任其崩溃」思想?,程墨 Morgan,https://www.zhihu.com/question/21325941/answer/173370966

  20. 分布式事务的原理综述,https://mp.weixin.qq.com/s/syPKHckm6uZ3TgJYfRnw

  21. 分布式事务解决方案与适用场景分析,https://mp.weixin.qq.com/s/Okvgn5beGy5aJypfu6mKcg

  22. 漫谈分布式事务,长源,https://zhuanlan.zhihu.com/distributedDatabase

  23. 分布式事务,张亮,https://shardingsphere.apache.org/document/current/cn/features/transaction/

  24. Kubernetes(k8s)Pod 弹性伸缩详解与使用,https://www.centos.bz/2017/07/kubernetes-k8s-pod/

  25. Horizontal Pod Autoscaler,https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

  26. 自动化运维时代,我们该如何是好?,https://www.jianshu.com/p/fc32735105cf

  27. 如何理解持续集成、持续交付、持续部署?,https://www.zhihu.com/question/23444990

  28. 分享一种系统事故&问题处理反馈方式(COE),buguge,https://www.cnblogs.com/buguge/p/7028524.html


http://chatgpt.dhexx.cn/article/bCIJFKVG.shtml

相关文章

罗胖的用户招你了?

你说罗胖骗人。可得到的用户,真有你想象的那么傻吗? 往年,骂罗胖的文章,只是骂罗胖。 但是今年不同了,很多刷屏的文章,都来亲切关心和问候得到的用户了。 得到的用户,似乎很快就要和买假冒保健品…

统计学原理-----概率分布

0.大纲: 1.什么是概率分布? 概率分布就是随机变量与对应概率关系的函数。换句话说,概率分布就是随机变量和概率的映射,所有的事件都会对应一个概率。某个随机变量的所有概率形成的概率-事件分布就是该随机变量的概率分布&#xf…

晓之以理,不如动之以情——新书《以大致胜》解读(上篇)

《以大致胜:怎样在这个事实根本不重要的世界里使用说服力》( Win Bigly: Persuasion in a World Where Facts Dont Matter )这本书,是我很敬佩的一位作家斯科特亚当斯(Scott Adams)于今年10月31号刚刚出版的…

如何高效学习?现在有答案了。。。

先说答案:15.87% 15.87% 是什么意思?我来慢慢解释,先来看下面的一幅图: 绿色代表舒适区 紫色代表学习区 红色代表痛苦区 如果一项任务对你来说太简单了,很轻松就能搞定,那么你会觉得无聊,如果…

博弈论,你知多少

“无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。” 在《从“名将之路”到“写…

如何成为一名专家?

这是傅一平的第345篇原创 【与数据同行】已开通综合、数据仓库、数据分析、产品经理、数据治理及机器学习六大专业群,加微信号frank61822702 为好友后入群。新开招聘交流群,请关注【与数据同行】公众号,后台回复“招聘”后获得入群方法。 正文…

排序不等式

文章来源:“万维钢精英日课4——排序不等式” “排序不等式”描述了无限制系统的“效率”和“公平”的本质关系。给我在如何分配资源上带来了很好的启发,这里记录一下大概内容,方便自已临时翻阅。 1.什么是排序不等式? 大数乘大…

《指导生活的算法》

关于本书和作者 本书的作者有两位,一位是布莱恩克里斯汀,他是美国布朗大学计算机学及哲学双学士,还是2009年人工智能洛伯纳大奖的得主,是一位文科特别好的理工男。另一位是汤姆格里菲斯,他是加州大学心理和认知科学教…

为什么大部分人做不了架构师?这2点是关键

阿里妹导读:选择有时候比努力重要,真正厉害的人不仅仅是埋头苦干,而是会利用好的思维方式、好的方法,看穿事物的本质,顺势而为,找到事情的最优解,并懂得举一反三。架构师是程序员的目标之一&…

豆瓣最高评分8.1!万维钢:读懂这本书,你会比身边人更深的理解这个时代

▲ 数据汪特别推荐 点击上图进入玩酷屋 小木用真金白银来给大家送礼物啦,特别感谢这些年一直以来大家对我们的支持,才让我们越做越好。(点我参与送礼活动) 这几年全球各大科技巨头纷纷进入人工智能领域,催生了一大批技…

万维钢解读,从数学上解释为什么绝大多数投资者都会输给市场?最可能值,远远小于平均值...

万维钢解读,从数学上解释为什么绝大多数投资者都会输给市场?最可能值,远远小于平均值。 咱们来思考一个数学问题。这个数学问题有助于我们理解一个看似有点反常识的道理,那就是为什么绝大多数投资者都会输给市场? 如果你去考察华…

你有你的计划,世界另有计划这本书 万维钢

你有你的计划而世界另有计划 首先推荐万维钢著作,免费领取:《《高手》万维钢 电子书》。 今天有个好消息,我的新书《你有你的计划,世界另有计划》马上就要开始独家首发了。今天就把这本书的序言更新到这里,题目叫《欢…

买知识,也别冲动消费

前方有坑,告诉你一声 付费 知识变得值钱了。 其实知识本来就值钱。咨询专家给普通人的印象就是西装革履、坐头等舱、住五星酒店。他们卖的是什么?知识。 可是网上浩如烟海的文章,不都可以免费读吗?多年来,我们已习惯了…

又订阅了万维刚的精英日课

订阅他的栏目是因为以前看过他写的《 万万没想到》这本书,他看的书相当多,有大量的英文书,所以他的栏目肯定能够让人每天进步一点点。 把他几天课的主要笔记整理一下: 马斯洛的需求层次理论 通常都说是五层:&#xff1…

精确休息法——《万维钢.精英日课3》笔记

如果发现自己午睡后效果不好,那就需要对休息进行精确控制: 1,先喝杯咖啡,咖啡因含量200mg 2,手机设定25分钟定时 3,开始睡; 4,25分钟一到马上起来。 原理: 1&#x…

B树与B+树的区别!!

B树结构如图: B数的结构如图 根据图可以知道: 1.在B树中叶子节点和非叶子节点上都存储了数据,而B树只是在叶子节点上面存储了数据,并且叶子节点之间是使用双向链表连接起来的,适合范围查询。 2.B树和B树都是在二叉树…

B树、B+树

B树与B树的区别在于: 1)在B树中,具有n个关键字的节点只含有n棵子树,即每个关键字对应一颗子树;而在B树中,具有n个关键字的节点有n1棵子树 2)B树:每个节点(非根节点&…

红黑树、b+树、b树、mysql索引详细剖析

文章目录 树基础知识回顾红黑树b树、b树为什么不能使用二叉树来存储数据库索引B/B树的索引数量 索引什么是聚簇(集)索引?mysql聚簇和非聚簇索引的区别b树和哈希索引二级索引二级索引存储主键值而不是存储行指针的优点与缺点 树基础知识回顾 …

B树

B树的定义 flyfish 2015-7-15 B-树即为B树。因为B树的原英文名称为B-tree,因为翻译的不统一所以B树和B-树都是B-tree。 B树定义 引用自严蔚敏《数据结构》(C语言版) B树是一种平衡的多路查找树 定义:一棵m 阶的B树&#xff0…

B树详解

B树 B树,一般都被叫做B-树。 定义 B树中的每个节点的元素和子树数量是有限的,除了根节点外,所有节点最多拥有M-1个元素,所有非叶子非根节点最多拥有M个子树,即为M阶树。根节点至少拥有两个子树,除了根节点之后的非叶…