时间:2021年10月08日

作者:小蒋聊技术

大家好,欢迎来到小蒋聊技术。小蒋准备和大家一起聊聊技术的那些事。

通过上次的分享,小蒋又重新复习一遍了“单例模式”。一个看似普普通通的“单例模式”,真正要弄得明白,却要在知识技巧意愿这三方面持续不断地交替努力,而且还是反复循环才行。

为什么要这样呢?因为,在持续学习的过程中,小蒋开始慢慢理解什么是真正的技术人,技术在他们那里已不再只是知识,技术已经变成他们的自身的思维模式习惯了。

这种思维模式与习惯的养成和建立,恰恰也是小蒋一直在持续分享的核心内容。小蒋上学的时候,就非常喜欢物理。物理学原理就是物质不会凭空出现,也不会凭空消失。技术其实也是如此, 我们现在生活在互联网时代,我们现在生活的这个时代知识过于碎片化,而且信息爆炸,技术的学习难度变得越来越大,在这种环境下,已近很难再保证你能学习到完整的知识体系了。你需要靠自己的主观能动性,在各种技术信息中穿梭,汇聚,甚至提炼成自己的体系。

有很多技术,我们在学的时候其实就已经过时了,学习仅仅是为了应付考试而已,现实当中几乎没有一点用处。大学阶段的课程中,很多内容都处于这种状态。

我们大家一开始明明都是普通人,每个人一天最原始的资源就是每天24小时。但,为什么有些人就走到了技术的最前沿,不断引领时代的发展。而大多数人则是碌碌无为,一无是处。

小蒋个人理解,这就是互联网这个时代的特点。这个时代不缺少资源,反倒是信息爆炸。所以,如果你想取得某一方面的优势,就必须要聚焦在某几个确切的目标上,并将全部精力都聚焦于选定的目标之上。这种学习方法也正是小蒋一直在坚持与实践的。

今天,小蒋将和大家一起来看看,为什么分布式服务框架最近这两年变得越来越火?

小蒋最近很长时间的工作一直都是围绕着“”开展的。一个典型的案例就是,为了满足生产需要,业务不断地进行迭代升级,公司内部的系统开始一批接着一批的“微服务化”(Microservices)并迁移上云

简单的说就是公司里原来的大型复杂系统,开始被一个一个的分解。把一个巨型复杂的系统,拆解成一个又一个的微服务。这些微服务根据业务实际访问量被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务

这些大型而又复杂的系统,你可以把他们看成是一个怪兽。这些怪兽系统的年龄估计有10多岁了,有的甚至更大。 这些怪兽们就是小蒋这代程序员们最早开发的单体型应用,虽然开发和部署比较方便,但后期随着业务的不断增加,开发迭代和性能瓶颈等问题,将会越来越困扰开发团队。

1.咱先看,单体应用框架(ORM

2010年是电商行业标志性的年份,第一家B2C电商麦考林在美国上市了。一下子数10亿美元开始涌入这个行业,2010年12月当当网也上市了。

当时网站的流量并不大,只需要一个应用,就可以将所有功能部署在一起。如,下单、支付、后台管理等。这种单体应用可以减少部署节点和成本。

缺点:单体应用架构,随着业务的发展,占用的资源开始越来越多,随着时间的发展和流量的增加系统变得越来越难以维护。

2.垂直应用框架(MVC

随着单体应用的缺点变得越来越突出,垂直应用架构的出现成为了必然。因为垂直应用架构就是为了解决单体应用架构所面临的扩容问题,垂直架构的出现使得流量能够分散到各个子系统当中,且各个子系统的体积可控。在一定程度上降低了开发人员之间协同以及维护的成本,提升了开发效率。

缺点:垂直应用架构中相同逻辑的代码不能复用,代码需要不断地复制。

3.分布式应用架构(RPC

当垂直应用越来越多,应用之间交互变得不可避免。系统分久必合,核心业务抽取就变得随理成章了。这些被抽取出来的核心业务,逐渐形成稳定的服务中心。

4.面向服务的体系架构(SOA

这两年电商业务的发展也逐渐趋于稳定,服务化程度变得也是越是越来越高。所以,服务之间的调用和依赖关系也就逐渐变得越来越清晰。面向服务的体系架构(SOA)也就逐渐成为主流。也因此衍生出了一些列相应的技术,如注册中心、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由等一系列服务相关框架。

以上是小蒋所在的电商行业系统,这10多年的架构演变过程:

  • 单体应用架构

    • 初期网站流量有限,应用只需要一个即可。将所有功能部署在一起,部署节点和成本可控。
    • 单体应用架构阶段,主要业务以简单的增删改查为主,数据访问框架(ORM)是关键。
  • 垂直应用架构

    • 随着业务的发展,系统的访问量逐渐增大,单体应用靠增加物理硬件带来的性能提升能力变得越来越小。所以,将应用拆分成几个互不相干的应用,以便提升效率,同时也分散流量。
    • 垂直应用架构阶段,主要以拆分应用为主线,使用WEB应用框架(MVC)构建应用是关键。同时还会使用“前后分离”、“动静分离”、“CDN加速”等技术,这些技术都能极大的提升网站性能。
  • 分布式服务架构

    • 当垂直应用越来越多时,应用之间的交互就变得不可避免。分久必合肯定是大势所趋,独立的应用之间相同的业务,将会被抽取出来,作为独立的服务,逐渐形成稳定的服务中心,这样前端应用的负担将会减轻,从而有更多的资源响应快速多变的市场需求。
    • 分布式服务架构阶段,在这个阶段,为了提升垂直应用或同类应用的负载能力,强调的是将相同的业务逻辑,抽取为公共服务并分散部署在不同的机器上。分布式服务框架(RPC)是关键。
  • 面向服务的体系架构

    • 当服务越来越多,容量的评估、资源的调度、服务的治理等问题逐渐凸显。此时需要有一个专门的调度中心或者叫管理中心基于负载压力实时管理集群的容量,以便提高集群利用率。
    • 面向服务的体系架构阶段,在这个阶段,服务的管理、资源调度、服务治理(SOA)是关键。

文章题目里“最近这几年分布式服务框架越来越火”,这里特指的就是开源的这几个RPC框架,Dubbo、Spring Cloud、Motan、Thrift等。

远程过程调用(RPC)技术,也正是因为互联网时代的高速发展,上网的用户数和可使用的服务数都在快速的增长而产生的。小蒋简单的来解释一下RPC技术,我们在公司里,两个人有事要沟通,叫到会议室面对面谈一下就可以了。但是,公司发展越来越大,在全世界都成立了分公司,要沟通的那个人人家在美国公司里。这时候要沟通,就得打电话了。RPC技术和打电话沟通其实就是一个意思。

我们有两台服务器A、B。分别部署着订单服务和支付服务,当A服务器上的订单服务想要调用B服务器上的支付服务时,由于不在一个内存空间里,他们是无法直接调用的,  需要通过网络来表达调用的语义调用的数据。

说白了,就是你在电脑里有一段代码,我在我的电脑里是无法直接调用的,这个时候就出现了一个远程服务调用的概念,也叫做RPC。

小蒋通过对技术使用的复盘,弄明白了为什么最近分布式服务框架变得越来越火。因为分布式服务框架这个技术符合业务发展趋势。

小蒋我作为一名技术人员,往往只会往前看。换句话说一看到新技术,眼睛就放光,就盯着前沿趋势和技术新版本。对于旧版本,通常提不起什么兴趣。在实际工作中也往往会向前看——而不是向后看——做决定,然后继续前进。

后来,我遇到了一位优秀的架构师同事。我们在聊天的时候,他告诉我,如果我想成为一名优秀的架构师,就必须化时间对过去的经历进行反思,并且从中学习。

如果愿意,过去你所经历的每一次成功和失败都可以成为信息和智慧的宝库。成功让你明白自己擅长做什么,使你充满自信。而失败则可以让你懂得更多。失败可以说明你计划错误、性格缺陷、判断失误或者执行手段不高明等问题。最开始小蒋非常憎恶失败,因此遭遇失败后就想方设法把失败掩盖起来而不是分析失败、从中学习。

后来,当小蒋自己成为了一名架构师后却发现,如果不能从错误中不断总结经验,你将一次又一次的遭遇相同的失败。

写在最后

市面上有很多教人技术速成的书或者视频教程,这类书或者教程小蒋个人非常不推荐,因为这类资料反而背离了学习的本质。如果学习你都要急功近利,这种性格很难通过积累,实现成功。就像天天吃快餐,肯定对健康不利,技术知识也是一样,天天看速成的东西,最终结果就是你越来越懒得思考。

今天分享的内容就到这里。

年龄的增长不可怕,可怕的是从未成长!

感谢大家支持小蒋,小蒋希望和大家共同成长,谢谢。

喜马拉雅音频地址:https://www.ximalaya.com/keji/51588599/460397156https://www.ximalaya.com/keji/51588599/460397156

【20211008】为什么分布式服务框架越来越火相关推荐

  1. 阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访

    专家访谈 目录(?)[-] 先来个自我介绍吧! Dubbo是什么?能做什么? Dubbo适用于哪些场景? Dubbo的设计思路是什么? Dubbo的需求和依赖情况? Dubbo的性能如何? 和淘宝HS ...

  2. 有问有答 | 分布式服务框架精华问答

    戳蓝字"CSDN云计算"关注我们哦! 随着社会的发展,技术的进步,以前的大型机架构由于高成本.难维护等原因渐渐地变得不再主流,替代它的就是当下最火的分布式架构.要说分布式架构有多重 ...

  3. 分布式服务框架原来与实践 读书笔记一

    一 分布式服务框架诞生背景 分布式服务框架的诞生并非偶然,当服务发展到一定阶段之后,会面临很多新的挑战.包括新的商业模式,已有技术架构无法支撑业务快速发展等为了保证业务的快捷.健康发展,往往会产生新的 ...

  4. 分布式服务框架之Dubbo简介

    2019独角兽企业重金招聘Python工程师标准>>> 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个 ...

  5. dubbo 分布式服务框架 介绍

    Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点.Dubbo自2011年开源后, ...

  6. 多点生活的分布式服务框架DSF

    背景 多点生活成立于2015年初,1亿美元天使轮,和物美超市深度合作,目标是打造线上线下一体化的全渠道零售平台.技术研发团队基本上全  在成都,在成都JAVA好招人,所以基本上在多点内部就是JAVA一 ...

  7. 华为18级大牛倾情奉送:分布式服务框架和微服务设计原理实战文档,啃完发现涨薪如此简单

    前言 分布式服务框架不仅仅包含核心的运行时类库,还包括服务划分原则.服务化最佳实践.服务治理.服务监控.服务开发框架等,它是一套完整的解决方案,用来协助应用做服务化改造,以及指导用户如何构建适合自己业 ...

  8. DSF学习1_Dubbo详解(一)分布式服务框架的概念理解

    Dubbo分布式服务框架的概念理解 Dubbo是是一个高性能,基于Java的RPC框架,由阿里巴巴开源.一个分布式的服务框架.可以实现SOA(面向服务的架构)架构. Dubbo使用的公司:京东.当当. ...

  9. (转)阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访

    Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点.Dubbo自2011年开源后, ...

最新文章

  1. Bchd开发出可替代BCH全节点的公开API——gRPC
  2. php 自动验证表单类,thinkPHP 表单自动验证功能
  3. 题目1:学生成绩档案管理系统(代码实现)
  4. STM32 的加密实现(转)
  5. HugeGraphServer 部署安装
  6. Windows辅助开发笔记-辅助开发逻辑思路
  7. docker-1 初识docker
  8. (11)Xilinx BRAM或者ROM初始化文件.COE制作(FPGA不积跬步101)
  9. Day1数据结构和算法
  10. 誰毀了全新Vista電腦﹖
  11. [转]《财富》推荐的75本必读书 !!推荐看看!受益匪浅
  12. 【Pandas】Pandas求某列字符串的长度,总结经验教训
  13. 第11章 枚举与泛型
  14. 数据分析与数据仓库建模
  15. 阿里云4核8G服务器10M带宽支持在线人数并发量计算
  16. ios12怎么滑屏解锁_对比苹果iOS12和安卓9.0,相互学习了哪些功能
  17. 【第五章】综合实例:实现图片传送带
  18. 【HCIE TAC】第二题
  19. 鸿蒙系统荣耀新机,鸿蒙系统要来了?网传荣耀新机搭载麒麟9000+鸿蒙OS
  20. 云服务器可以修改ip,云服务器的ip可以更换吗

热门文章

  1. iOS学习笔记22 推送通知
  2. English Learning - Day21 作业打卡 2022.12.27 周二
  3. 考研公共课总结与建议(持续更新)
  4. 函授大专计算机专业,函授大专报什么专业好?
  5. 苹果创始人乔布斯简介_iPhone SE 2,一款致敬乔布斯的经典,非全面屏时代的收官之作...
  6. Cyclone V SoC FPGA学习之路第一章:综述
  7. 如何使用origin跨工作簿进行公式计算
  8. Ubuntu16.04中Docker的卸载和安装
  9. phpenv:PHP多版本安装和管理工具
  10. 【步兵 工具篇】lzma算法,压缩字节流