从0开始学微服务
胡忠想
微博技术专家
立即订阅
16241 人已学习
课程目录
已完结 42 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 微服务,从放弃到入门
免费
模块一 入门微服务 (10讲)
01 | 到底什么是微服务?
02 | 从单体应用走向服务化
03 | 初探微服务架构
04 | 如何发布和引用服务?
05 | 如何注册和发现服务?
06 | 如何实现RPC远程服务调用?
07 | 如何监控微服务调用?
08 | 如何追踪微服务调用?
09 | 微服务治理的手段有哪些?
10 | Dubbo框架里的微服务组件
模块二 落地微服务 (14讲)
11 | 服务发布和引用的实践
12 | 如何将注册中心落地?
13 | 开源服务注册中心如何选型?
14 | 开源RPC框架如何选型?
15 | 如何搭建一个可靠的监控系统?
16 | 如何搭建一套适合你的服务追踪系统?
17 | 如何识别服务节点是否存活?
18 | 如何使用负载均衡算法?
19 | 如何使用服务路由?
20 | 服务端出现故障时该如何应对?
21 | 服务调用失败时有哪些处理手段?
22 | 如何管理服务配置?
23 | 如何搭建微服务治理平台?
24 | 微服务架构该如何落地?
模块三 进阶微服务 (8讲)
25 | 微服务为什么要容器化?
26 | 微服务容器化运维:镜像仓库和资源调度
27 | 微服务容器化运维:容器调度和服务编排
28 | 微服务容器化运维:微博容器运维平台DCP
29 | 微服务如何实现DevOps?
30 | 如何做好微服务容量规划?
31 | 微服务多机房部署实践
32 | 微服务混合云部署实践
模块四 展望微服务 (4讲)
33 | 下一代微服务架构Service Mesh
34 | Istio:Service Mesh的代表产品
35 | 微博Service Mesh实践之路(上)
36 | 微博Service Mesh实践之路(下)
阿忠伯的特别放送 (4讲)
阿忠伯的特别放送 | 答疑解惑01
阿忠伯的特别放送 | 答疑解惑02
微博技术解密(上) | 微博信息流是如何实现的?
微博技术解密(下)| 微博存储的那些事儿
结束语 (1讲)
结束语 | 微服务,从入门到精通
从0开始学微服务
登录|注册

开篇词 | 微服务,从放弃到入门

胡忠想 2018-08-20
00:00
06:46
讲述:胡忠想 大小:3.11M
你好,我是胡忠想,微博技术专家。从 2012 年加入微博到现在,我一直在做微博首页信息流相关的业务研发,几乎亲历了微博后端架构的每一次重大升级。不仅参与了微博后端架构从大的单体应用迁移到微服务架构的改造;还作为主要负责人之一,主导了微服务架构在公司多个业务线的推广和落地。所以谈到将微服务落地,我有很多实战干货想和你分享。
不得不说,微服务是当下非常热门的话题。我平时工作之外和圈子里的朋友们交流,提到微服务等新技术,他们先是兴奋,后又无奈。兴奋的是他们看到了新技术带来的便利,无奈的是团队规模和能力又反过来制约了他们采用新技术的步伐。而他们也对微服务有着这样或那样的理解,但更多的是疑惑,比如说他们会问:
微服务这技术虽然面试的时候总有人提,但作为一个开发,是不是和我关系不大?那不都是架构师的事吗?
微服务不都是大厂在玩吗?我们这个业务体量用得着吗?
微服务特别复杂,没个 100 人的研发团队是不是就无法落地?
我特别理解这样的困惑,因为我也是这么一步步走过来的。的确,大公司动辄就是几百上千的研发人员,并且其中不乏顶尖选手。他们有经验、有能力,也有业务场景,所以在技术的选择上也会更为“冒进”。而对于大部分的中小团队来说,当微服务架构成为刚需的时候,他们更多的是彷徨和犹豫。
先给你讲讲我的经历吧。最开始,微博首页信息流的后端团队规模也不大,只有七八个人。当时我们就想着快速迭代,业务也就采用了单体应用的架构。因为求快,不同功能模块的代码耦合在一起,编译打包部署也都在一起。
后来业务规模不断扩大,团队人员也增长到二十多人,这时候单体应用架构的开发模式就开始暴露出问题了。那时候,每一次功能发布和上线都需要一个上线负责人来收集上线列表,并协调所有相关的开发人员合并代码到主干,然后编译打包,修改工程依赖的 JAR 包版本。
你应该可以想象我们那时的状况。如果一次上线超过五个人参与的话,就会经常出现各种问题:有的人忘记提交代码、有的人忘记打包、有的人忘记修改工程依赖到最新版本。一次上线过程需要反复确认,耗费了大量精力,严重影响了整体的开发和部署效率。
看到这,不知你是否大腿一拍,大声叫到:这不就是我们团队每天都在面对的问题嘛!
当时我们为了解决这些问题,做了很细致的技术调研,最后选定了服务化的解决方案,对原有的单体应用架构进行改造,把功能相对独立的模块拆分出去,部署为微服务,分别交给专门的更小的团队来维护。后来我们又引入了 Docker 容器化,以及 Service Mesh 等技术,为了更好地适应微博业务的高速发展。
可以说,微博的信息流后端架构经历了单体应用 - 微服务架构 - 容器化应用 - DevOps 的发展历程。而我也正是因为亲历了微博的架构演进过程,对于中小团队如何落地微服务体系有了更为深刻的理解。
所以,在这个专栏里,我会秉承着这个思路,不断提醒自己,这个方案中小团队是否可用,他们能否驾驭这些技术。我想,这是大部分中小团队的刚需,也是这个专栏的主要出发点。他们需要的不是一个大而全的东西,而是一套可以快速落地的方法论。
我希望在专栏里不仅跟你分享微服务架构的基础知识,更是从微服务体系的角度,和你深入讨论如何将微服务落地,帮你扫清最开始提到的那些疑惑。
那什么是微服务体系呢?在我看来,微服务发展到现在,已经不再单单局限于微服务架构本身,还与容器化、DevOps 等新的理念相结合,成为当前移动互联网时代最先进的业务架构解决方案,能更好地迎合移动互联网业务快速迭代的要求
在接下来的三个月里,我将由浅入深、由表及里,逐步带你探索微服务的世界,帮你从 0 开始构建微服务体系。具体来说,专栏分为四个部分:
第一部分,我会尽量用最通俗的语言去讲解微服务架构的基本原理,帮你解答三个问题:什么是微服务?什么时候适合微服务改造?微服务架构到底是什么样的?
第二部分,我会结合在实际业务中的经验,给你讲述微服务架构改造过程中可能会遇到的问题和对应的解决方案,以及搭建微服务架构时,如何做技术选型。
第三部分,我会给你讲述微服务、容器化、DevOps 这三者之间的关系,以及在具体实践中如何运用这三种技术给业务的架构带来质的飞跃。
第四部分,我会给你介绍下一代微服务体系可能的发展方向,并分享我对此的看法。
如果你刚刚接触微服务体系,希望我的专栏能带你快速入门微服务,具备搭建一套微服务基本架构的能力;如果你有过微服务架构的开发经历,希望可以帮你解决在实际开发过程中遇到的一些问题;如果你已经玩转了微服务的各个方面,希望你可以和我切磋,交流开发心得,畅谈下一代微服务的技术发展;即使你现在还没有用到微服务,但通过专栏的学习,希望你一样能够掌握微服务架构的思维的精髓,提升解决复杂问题的能力。
微服务是当下最火热的后端架构之一。不管你是一个什么级别的程序员,也不论你在一个什么体量的公司,服务化都是你迟早会遇到的难题。从我的经验来看,实践微服务的过程本身也是一个升级打怪的过程,这中间你会遇到基本上所有后端架构的问题。解决了这些问题,你自然也就理解了那些高深的概念,也就成为了一名架构师,成长和能力提升都是这个过程的附属品。
不说虚的,我希望这个专栏能给你在“微服务道路”上增加一块敲门砖,希望我讲的东西对你有所帮助、有所启发。用极客时间团队的话来说,我要为你交付结果,学完这个专栏,希望你可以厘清微服务的脉络,并在恰当的时候,也可以主导自己公司的服务化进程。
我邀请你在接下来的三个月时间里,跟我一起走进微服务的世界,感受学习和进步所带来的乐趣与成就!
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学微服务》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(84)

  • robin
    我看看微博flag之王如何扛不住并发出轨。。
    2018-08-20
    165
  • hansz
    看一下能抗的住8对明星并发出轨的架构到底是怎样的

    作者回复: 这个我可没说哈

    2018-08-20
    50
  • 无呢可称
    刚下班,看了开篇词,我们后端3人组都打算服务化,期待胡思想的首秀

    作者回复: 三个人就微服务?

    2018-08-20
    33
  • QY
    扛得住并发出轨的微服务架构指南,期待

    作者回复: 这个不要乱说,哈哈

    2018-08-21
    17
  • CYN_YN_N
    叔我一定好好学习不给你丢脸💪
    2018-08-20
    16
  • 凡事要三撕
    阿忠伯,会写微博并发出轨实战吗😂😂
    2018-08-20
    11
  • 有铭
    微服务最大的问题来源在于服务化后的持久数据(数据库)被切分导致的关系破碎。希望能多讲讲这方面如何踩坑

    作者回复: 这个不是这个专栏的重点,不过最好的方法是不要拆有业务逻辑耦合的数据库,尽量不要引入数据库事务,会很复杂

    2018-08-21
    9
  • mylgx
    是不是可以写一下需要哪些前置技能?

    作者回复: 最好是有过实际项目开发经验,比如写过spring+ibatis+mysql应用程序的,懂一些网络

    2018-08-21
    7
  • 果然如此
    后端2个.net工程师准备搞微服务:spring cloud+.net webapi core
    2018-08-30
    5
  • 李嘉豪Neil
    我们团队也正在由单应用转变为微服务的路上,现在正在对原有业务进行迁移,希望胡老师的专栏能促使我们的服务更完善,更稳定,更高效!

    作者回复: OK

    2018-08-20
    5
  • 叶十七
    最前面的例子打包老出问题我觉得跟是否微服务没有必然联系。那不是改用微服务的依据。
    2018-10-06
    4
  • @特
    老师能多讲讲微服务一致性的问题吗。比如携程之类的订票网。他们怎么保证订完火车票订机票,订完机票订酒店的。TCC肯定是做不到的,感觉事件驱动也很麻烦。

    作者回复: 对账机制吧,所以有可能超卖

    2018-08-22
    4
  • 丸纸
    阿忠伯冲鸭!
    2018-08-21
    4
  • ‍亓
    可以的
    2018-08-20
    4
  • godtrue
    买的专栏太多了,不过延时学习也是有好处的,可以看到更多声音、问题、见解,能给自己以启发或引导。

    学完本专栏,我希望清楚的明白一下知识点
    1:啥是微服务?
    2:为啥用微服务?
    3:微服务的实现原理是啥?为啥是?
    4:微服务带了的好处是啥?
    5:有好处总免不了付出代价,哪代价是啥?
    6:微服务是一种解决问题的套路嘛?如果是,那实现方式估计比较多啦!各种实现有啥异同?如果能统一是否学习、使用、沟通的成本就更低啦?为啥没统一?现在主流的实现是啥?
    7:微服务的未来是啥?
    8:学习任何知识几乎都有前置知识才好学习,学习微服务的前置知识是啥?
    2019-05-16
    3
  • 爽歪歪
    胡老师 我们项目组十个人 现在采用分布式集群做的一个平台 但是这里面只有Rest互相调用接口 并没有一套完整的服务发现治理监控的流程 我们这样的团队规模自己项目 适合采用微服务架构么

    作者回复: 十个人快到临界点了,看你们日常的开发部署测试效率吧

    2018-08-22
    3
  • 钟子敬07
    我比较想知道,微博是怎么可以屏蔽相关的话题
    2018-08-21
    3
  • 杨家二少爷
    胡老师,辛苦了
    2018-08-20
    3
  • 知秋叶
    搞微服务的话最小规模团队要多少人呀

    作者回复: 能力强的话十人以下就行,但大部分团队建议十人以下不要考虑了

    2018-09-01
    2
  • 臣子
    胡老师,我是一名PHP程序员。 看过阿里巴巴的dubbo。但是这些技术都是java去写的。我很困惑为啥不用PHP呢?

    作者回复: 阿里写dubbo的时候,还没有人拿PHP写比较重的后端业务吧,毕竟要跟阿里内部的各种中间件去搭配

    2018-08-31
    2
收起评论
84
99+
返回
顶部