微服务架构深度解析与最佳实践 - 第七部分:全文总结与引用材料
最佳实践的总结
林林总总说了这么多的微服务架构相关的知识也好,经验也罢,不一定适合每个希望做微服务系统的技术人员的实际需求。“道无常道,法无常法,君子审时度势,自可得而法”。实际项目里需要做哪些工作,采取哪些策略,先后运用哪些步骤,都需要因地制宜,借鉴各种“他山之石”,综合考虑。
微服务架构的最佳实践,其实就是把微服务架构的条条框框都思考一遍,这一条到底解决了什么问题,适用于什么场景,对我现在的工作有没有帮助,考虑清楚了以后彻底的忘掉这些“有为法”。然后用自己的思考成果去解决工作中遇到的各类问题,就算是真正学会了微服务。问题永远存在,解决掉遇到的问题,是推动技术发展,促进组织进步,提升个人技术能力的不二法门。
过去的几十年里,技术发展的越来越丰富,体系越来越庞大,业务系统越来越复杂,正像是《人月神话》中形容的那样:
“史前史中,没有别的场景比巨兽们在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。”
如何才能逃离“焦油坑”,目前看来使用“微服务架构”的指导思想,去解决复杂业务系统研发中的各类问题,是一个明确的解决办法。没有什么比去解决实际问题、让系统变好更重要。系统变好了,我们的技术也变好了,公司的业务也支持的更好了,业务好了则行业也发展的更好了,行业好了就会让整个国家和民族都更好了。所以,解决问题是关键。
万维钢老师在《精英日课》里说“这个世界上的问题,分为三类”:
第一类是目标明确、路径明确的,比如你上高中的时候,你知道把几门功课都学好,就能上个好大学,这就是一个单纯问题,但是可以看到,单纯问题也可能是非常难的。钱能直接解决的问题,一般也是这类问题。
第二类是两难问题,选择就意味着放弃,比如两个女孩喜欢你,一个有钱,一个漂亮,选了有钱的就不漂亮,选了漂亮的就没有钱。路径很明确,但你面临的痛苦不是因为问题很难,而是不管你怎么处理,都需要付出失去的代价,放弃潜在的另一些可能,会在将来造成实际的损失。你跟小张结了婚,10 年后天天吵架,后悔没有取晓丽,红玫瑰与白玫瑰。
第三类问题,我们叫棘手问题,这类问题,即可能没有特别明确的目标,而且也没有任何人能告诉你一个明确的路径,你现在做了什么努力,可能也短时间看不到效果,做好了不一定有很大成果,做不好肯定要背锅。大家可能都知道这个问题在,就是没有人去解决或者能去解决。最关键是,从外部的一些人看来,这些问题,很像是一个单纯问题。这特么就扯淡了。
而现在看来,微服务架构的这些知识和实践,包括最近几年大家在响应式微服务架构(Reactive MicroServices Architecture)、服务网格(Service Mesh)做得一些工作,恰恰就是给怎么去处理“复杂业务系统研发”这个棘手问题,带来了一个比较明确的路径,指引着大家逐渐的把这个棘手问题变成一个单纯问题,然后用各种新的思想和武器去解决它。
最后给大家分享一个今天看到的微服务和中台的段子:
Q:大师大师,微服务拆多了怎么办?
A:那就再合起来啊。
Q:那太没面子了啊。
A:你就说你已经跨越了微服务初级阶段,在做中台了。
参考材料
《高可用可伸缩微服务架构:基于 Dubbo、Spring Cloud 和 ServiceMesh》,程超,梁桂钊,秦金卫,方志斌,张逸 ... 著,https://item.jd.com/12585284.html,https://msainaction.github.io
《软件架构发展历程分享》,kimmking,https://gitbook.cn/gitchat/activity/5a795024b939c9068a20dd37
《Microservices: a definition of this new architectural term》,James Lewis,Martin Fowler,https://martinfowler.com/articles/microservices.html
《Microservices Guide》,James Lewis,Martin Fowler,https://www.martinfowler.com/microservices/
《什么是微服务》,Chris Richardson,https://www.nginx.com/blog/introduction-to-microservices/
《什么是反应式微服务?》,Jonas Bonér, Co-Founder & CTO, Lightbend, Inc.,https://www.oreilly.com/ideas/what-is-a-reactive-microservice
《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
《使用聚合、事件溯源和 CQRS 开发事务型微服务(第一部分)》,Chris Richardson,https://www.infoq.cn/article/microservices-aggregates-events-cqrs-part-1-richardson
Peter Lawyer 博客,https://vanilla-java.github.io
微服务性能,Peter Lawyer,https://vanilla-java.github.io/2016/03/22/Micro-services-for-performance.html
《著名的推特论战:Microservices vs. Monolithic》,TodHoff,https://www.csdn.net/article/2014-08-06/2821078
《微服务设计》,Sam Newman,https://info.thoughtworks.com/Building-Microservices-Book-Sam-Newman-book-chapter-confirmation-page.html
Unix 哲学,https://en.wikipedia.org/wiki/Unix_philosophy
《管理的常识》,陈春花
《反应式设计模式》,Roland Kuhn、Brian Hanafee、Jamie Allen
《数据密集型应用系统设计》,Martin Kleppmann
分布式事务,张亮,https://shardingsphere.apache.org/document/current/cn/features/transaction/
Apache ShardingSphere,张亮,https://shardingsphere.apache.org
应该如何理解 Erlang 的「任其崩溃」思想?,程墨 Morgan,https://www.zhihu.com/question/21325941/answer/173370966
分布式事务的原理综述,https://mp.weixin.qq.com/s/syPKHckm6uZ3TgJYfRnw
分布式事务解决方案与适用场景分析,https://mp.weixin.qq.com/s/Okvgn5beGy5aJypfu6mKcg
漫谈分布式事务,长源,https://zhuanlan.zhihu.com/distributedDatabase
分布式事务,张亮,https://shardingsphere.apache.org/document/current/cn/features/transaction/
Kubernetes(k8s)Pod 弹性伸缩详解与使用,https://www.centos.bz/2017/07/kubernetes-k8s-pod/
Horizontal Pod Autoscaler,https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
自动化运维时代,我们该如何是好?,https://www.jianshu.com/p/fc32735105cf
如何理解持续集成、持续交付、持续部署?,https://www.zhihu.com/question/23444990
分享一种系统事故&问题处理反馈方式(COE),buguge,https://www.cnblogs.com/buguge/p/7028524.html
微服务架构深度解析与最佳实践 - 第七部分:全文总结与引用材料相关推荐
- 微服务架构深度解析与最佳实践
微服务架构深度解析与最佳实践 微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒 ...
- 微服务架构深度解析与最佳实践-第一部分:微服务发展历程和定义
微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务 ...
- 微服务架构深度解析与最佳实践 - 第五部分:七个应对策略之性能、一致性与高可用
七个关键问题的应对策略-续 3.关于微服务对性能的影响 大家可以先思考 2 个问题:延迟(latency)和吞吐量(throughout)有什么关系? 延迟是响应时间么? 先说一下延迟和响应时间,延迟 ...
- 你知道微服务架构深度解析:微服务的主要特性有哪些吗?
微服务主要特性 粒度更细的服务 微服务架构相比SOA分布式架构强调按业务边界做细粒度的服务拆分.SOA架构使用粗粒度的服务模式来封装业务和技术能力,减少服务交互,但同时带来了业务耦合的复杂性.而微服务 ...
- 25岁阿里120W年薪架构师推荐学习的750页微服务架构深度解析文档
前言 当前,微服务架构在国内正处于蓬勃发展的阶段,无论是大型互联网公司还是传统的IT企业,纷纷采用微服务架构构建系统. 在过去几年里,DevOps.云原生.面向演进式架构等理念已经深入人心,围绕微服务 ...
- 【微服务架构】一文读懂单片到微服务架构的模式和最佳实践
在本文中,我们将学习如何使用设计模式.原则和最佳实践来设计微服务架构.我们将使用正确的架构设计模式和技术. 在本文结束时,您将了解如何在微服务分布式架构上设计系统以实现高可用性.高可扩展性.低延迟和对 ...
- 微服务架构的 10个 最佳实践 !
论如何正确实施微服务架构的10个技巧? 作者 | Md Kamaruzzaman 译者 | 苏本如,责编 | Elle 出品 | CSDN(ID:CSDNnews) 以下为译文: 微服务架构到底是什么 ...
- 微服务架构深度解析:你知道微服务的主要特性有哪些吗?
● 粒度更细的服务使每一个服务专注做好一件事情.每个服务完成一个单一任务,在功能不变的情况下,应用被拆分为多个可管理的服务,很好地解决了系统的复杂性问题. ● 粒度更细的服务有助于新人对工程的学习.对 ...
- 【架构实践】微服务架构全解析:Scale Cube 横向扩展,垂直扩展,纵向扩展
目录 微服务架构全解析:Scale Cube 横向扩展,垂直扩展,纵向扩展 前言
最新文章
- 2019 年,容器技术生态会发生些什么?
- 微信开放平台开发中遇到的问题
- SAP系统上线后的变化
- load和initialize
- 部署FIM 2010 R2—1先决条件准备
- linux绑定中文域名,linux shell正则表达式如何匹配域名(包含中文域名)
- Python 3.7 即将发布,引入多项新功能!
- iPhone平台下的游戏开发
- Fixjs——显示基类DisplayObject
- 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(4)签到题4题
- 语音信号处理(赵力)作业答案1-3章
- Js字符串转json
- java调用soap接口_java远程调用soap协议接口
- java中dao_java中的Dao类是什么意思?
- 【Linux 编程】线程绑定 CPU
- 为什么要研究《双目结构光》?
- 恢复系统设置或计算机点击没反应,win7系统电脑无法使用系统还原,按钮点不开的解决方法...
- 【T+】去掉畅捷通T+左边那些不用的云应用
- 5.分别画出下列二次曲面
- 深入浅出学算法007-统计求和
热门文章
- pyqt制作深度学习训练软件
- OA协同办公系统功能介绍
- Android强行进阶:为何大厂APP如微信、支付宝、淘宝、手Q等只适配了armeabi-v7a/armeabi?
- Unity中实现高级相机操作——Cinemachine插件
- 启动hfds文件系统,普通用户查看不到jps中的服务进程,但是root用户可以【该问题已经解决】
- 单线程顺序爬取图片以及对应的标签
- 转载:在阿里工作四个月经历的总结
- 取消notepad++打开.bat文件
- python网络编程【二】(使用TCP)
- 实现“快准狠”交付——小米HR研发团队敏捷实践