自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 如何解决微服务的数据一致性分发问题?

介绍 系统架构微服务化以后,根据微服务独立数据源的思想,每个微服务一般具有各自独立的数据源,但是不同微服务之间难免需要通过数据分发来共享一些数据,这个就是微服务的数据分发问题。Netflix/Airbnb等一线互联网公司的实践[参考附录1/2/3]表明,数据一致性分发能力,是构建松散耦合、可扩展和...

2020-07-02 17:56:24 150 0

原创 优秀架构师是如何学习开源项目的?

优秀架构师是如何学习开源项目的? 一、前言 大家好,我是架构师杨波,大家都叫我波波老师。 波波可以说是一个不折不扣的开源爱好者,在一线企业工作时,波波就花费大量的时间和精力,研究和学习开源代码。即便现在转入技术培训行业,波波仍然会花大量时间,研究github上的开源项目。另外,波波业余时间也开发一...

2020-06-25 15:40:27 175 0

翻译 关于致富的35条建议

这篇《关于致富的35条建议》,是波波从《How to Get Rich : Every Episode》[附录1]这篇长文(超过3.6万英文单词)翻译整理而来。波波非常认同原文作者Naval关于挣钱和财富的理念,有种强烈的得道恨晚的感觉~要是早十年就懂这些道理就好了,所以专门花时间翻译整理,并且放...

2020-01-21 11:03:58 561 1

原创 Kubernetes网络三部曲之三 ~ NodePort vs LoadBalancer vs Ingress

前言 在上一篇《Kubernetes网络三部曲~Service网络》中,波波讲解了K8s的4层网络栈中的第2层Service网路。有了Service网络,K8s集群内的应用可以通过服务名/ClusterIP进行统一寻址和访问,而不需要关心应用集群中到底有多少个Pods,Pod的IP是什么,会不会变...

2019-09-24 10:22:56 1453 0

原创 Kubernetes网络三部曲之二~Service网络

前言 在上一篇《Kubernetes网络三部曲~Pod网络》中,波波讲解了K8s的4层网络中的第1层Pod网络。有了Pod网络,K8s集群内的所有Pods在逻辑上都可以看作在一个平面网络内,可以正常IP寻址和互通。但是Pod仅仅是K8s云平台中的虚拟机抽象,最终,我们需要在K8s集群中运行的是应用...

2019-09-24 10:12:38 1176 0

原创 Kubernetes网络三部曲之一~Pod网络

前言 K8s是一个强大的平台,但它的网络比较复杂,涉及很多概念,例如Pod网络,Service网络,Cluster IPs,NodePort,LoadBalancer和Ingress等等,这么多概念足以让新手望而生畏。但是,只有深入理解K8s网络,才能为理解和用好K8s打下坚实基础。为了帮助大家理...

2019-09-21 11:34:04 1785 1

原创 如何理解Kubernetes架构?

前言 理解K8s的架构是运用好K8s的基础,本文波波帮助大家梳理一下K8s的架构。我们先会对K8s的架构进行一个概览,然后分别剖析Master和Worker节点的组件构成,然后把这些组件再集成起来,通过一个发布样例展示这些组件是如何配合工作的,最后展示K8s集群的总体架构。 架构概览 上图是K8...

2019-09-02 11:33:53 880 0

原创 构建微服务技术中台,SpringCloud和Kubernetes该如何选型?

前言 中台架构一词最近在技术圈内比较火,波波基于自己的经验和视角,也来凑个热闹聊聊什么是中台架构。中台架构实际由若干个层次组成,其中微服务技术中台是构建中台架构的重要组成部分。SpringCloud和Kubernetes,是目前互联网企业构建微服务技术中台所采用的主流技术栈,波波也会分析和比对这两...

2019-08-18 17:17:40 2392 0

原创 一个中国式微服务架构模拟案例

介绍 我和极客时间合作的课程《微服务架构和实践160讲》已经于2018年底完成,最后一个模块是综合案例分析,通过一个简单的模拟业务案例,将之前课程的各个组件集成起来,包括: 统一授权认证中心Gravitee OAuth2 集中配置Apollo 基础服务Zuul/Eureka/Ribbon/Hys...

2019-02-19 10:24:11 1296 0

转载 一个创业失败案例的复盘

前言 Staffjoy[参考1]是一家曾经的技术初创公司,公司主要研发自动排程(Automatic Scheduling)应用,不幸的是,这个公司只经历了两年(2016~2017)就宣布关闭,原因在创始团队发现他们的业务模式无法达成Product/Market Fit。在Staffjoy官方博客上...

2019-02-16 10:09:10 687 0

原创 构建OAuth2服务器~Golang语言实现

前言 自从我和极客时间合作的课程《微服务架构和实践160讲》上线以来,陆续收到一些学员的反馈,包括: Spring Cloud OAuth2复杂难以理解 OAuth2的四个流程到底是如何实现的? 课程缺乏项目架构设计和实战开发案例 波波老师实践中是如何做架构设计的? 基于学员的上述反馈和疑问,...

2019-02-15 10:34:40 1131 1

原创 我为啥暂不看好ServiceMesh?

前言 过去的2018年,ServiceMesh(服务网格)概念在社区里头非常火,有人提出2018年是ServiceMesh年,还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师,如果你现在还不了解ServiceMesh的话,是否感觉有点落伍了? 那么到底什么是ServiceMes...

2019-02-14 13:05:52 538 0

原创 焦虑的时代,工程师如何高效学习?

介绍 最近群里内经常有工程师(尤其是工作经验浅的)会问我同一个问题:如何快速高效学习?大家似乎都很焦虑,渴望通过高效学习来提升自己,快速成长。 基于自己的实践和思考,我总结了这篇文章,希望对大家有所启发。 原则 我认为高效学习必须基于一些原则,下面是我总结梳理出来的五点,其中前面三点是根本原则,后...

2019-02-13 10:14:26 585 4

原创 调用链监控产品该如何选择?

本文回顾分布式调用链监控(Distributed Tracing)产品的演进史,介绍近年出现的OpenTracing标准,对主流的开源产品进行比较,并给出选型建议。 一、演进史 2012年初,我作为携程框架研发部架构师,主导研发了携程第一代的分布式调用链监控产品CTrace,当时在国内算是比较早的...

2019-02-12 11:26:39 889 0

原创 Zuul1和Zuul2该如何选择?

介绍 在今年5月中,Netflix终于开源了它的支持异步调用模式的Zuul网关2.0版本,真可谓千呼万唤始出来。从Netflix的官方博文[附录1]中,我们获得的信息也比较令人振奋: The Cloud Gateway team at Netflix runs and operates more...

2019-02-11 13:10:34 3795 4

原创 Zuul网关生产部署实践

介绍 Zuul是Netflix开源的微服务网关,在Netflix经过大规模生产验证,在业界很多公司有落地案例。 本文介绍Zuul网关的一些生产部署实践。 Zuul参考部署架构 上图是一个可供参考的Zuul部署架构,总体可以简化为一个三层架构: 第一层、负载均衡LB Zuul网关本身无状态,以集群...

2019-02-11 13:05:17 1929 1

原创 Zuul网关路由管理实践

介绍 网关的核心功能之一是路由转发,为此,网关需要获取并维护一张路由表,这个路由表简单可以理解为一个服务名<>服务地址的映射表,有了这张路由表,网关就可以根据请求路径或者HTTP头中的服务信息,将请求转发到对应的目标服务地址。 Zuul[附录1]是Netflix开源的微...

2019-02-11 12:57:33 834 0

原创 微服务配置组件变色龙Archaius

介绍 如果我们要设计开发一套微服务基础架构,大家觉得哪个组件是最基础的?基于多年互联网分布式系统的实战经验,我的回答是配置中心以及配套的客户端。之前我在极客时间上的课程《微服务架构和实践160讲》中,已经深度剖析了携程开源的Apollo配置中心,Apollo是自带客户端的,它的客户端不错很灵活,但...

2019-02-11 12:50:28 1779 1

原创 四个架构设计案例及其思维方式

一、介绍 架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。 在上一篇架构之道~四种核心架构思维中,我先介绍了抽象、分层、分治和演化这四种应对复杂性的基本武器。在本篇《架构之道~四个架构设计案例及其思维方式》中,我会通过四个案例,讲解如何综合运...

2019-02-11 12:45:51 2022 0

原创 携程Apollo配置中心的架构

一、介绍 Apollo(阿波罗)[参考附录1]是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 Apollo目前在国内开发者社区比较热,在Github上有超...

2019-02-11 12:40:38 669 0

原创 如何不靠运气致富?

介绍 本文来自Naval Ravikant(AngelList的创始人)在Twitter上的推文,被整理转载在hackernoon上[参考附录]。我觉得作者的观点都是真知灼见,读后很受启发,所以我把它翻译出来,放在自己博客上,希望后面能时刻提醒自己。 原文和翻译 Seek wealth, not...

2019-02-11 12:30:02 528 0

原创 SoundCloud微服务架构是如何分层的?

介绍 在前一篇BFF和网关是如何演化出来的文章中,我向大家解释了BFF和网关是什么,在微服务架构体系中各承担什么职责,以及它们是如何演化出来的。在上一篇Netflix的微服务是如何分层的一文中,我以Netflix公司为案例,分析了Netflix的微服务分层架构的组织方式和近期演进。 本文继续以So...

2019-02-11 12:23:33 949 0

原创 Netflix微服务架构是如何分层的?

介绍 在之前一篇BFF和网关是如何演化出来的文章中,我向大家解释了BFF和网关Gateway是什么,在微服务架构体系中各承担什么职责,以及它们是如何演化出来的。 在本文和后续一篇文章中,我会分析Netflix(本文)和SoundCloud(下一篇)两家公司的微服务分层架构,帮助大家更深入理解BFF...

2019-02-11 12:19:48 1142 0

原创 微服务为什么要配置中心?

一、介绍 在系统架构中,和安全、日志、监控等非功能需求一样,配置管理也是一种非功能需求。配置中心是整个微服务基础架构体系中的一个组件,如下图,它的功能看上去并不起眼,无非就是简单配置的管理和存取,但它是整个微服务架构中不可或缺的一环。另外,配置中心如果真得用好了,它还能推动技术组织持续交付和Dev...

2019-02-11 12:15:15 1060 0

原创 BFF和网关是如何演化出来的?

介绍 BFF(Backend for Frontend)和网关Gateway是微服务架构中的两个重要概念,这两个概念相对比较新,有些开发人员甚至是架构师都不甚理解。 本文用假想的公司案例+图示的方式,解释BFF和网关是什么,它们是怎么演化出来的。希望对架构师设计和落地微服务架构有所启发。 服务化架...

2019-02-11 12:06:45 1872 0

原创 微服务2.0技术栈选型手册

一、前言 2014年可以认为是微服务1.0的元年,当年有几个标志性事件,一是Martin Fowler在其博客上发表了“Microservices”一文,正式提出微服务架构风格;二是Netflix微服务架构经过多年大规模生产验证,最终抽象落地形成一整套开源的微服务基础组件,统称NetflixOSS...

2019-02-11 12:02:24 448 0

原创 四种核心架构思维

一、介绍 架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。 最近团队来了一些新人,有些有一定工作经验,是以高级工程师/架构师身份进来的,但我发现他们大部分人思维偏应用和细节,抽象能力弱。所以作为团队技术培训的一部分,我整理了这篇文章,希望对他...

2019-02-11 11:56:35 10340 3

原创 微服务发布模式

一、前言 根据2017年的DevOps发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异。技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节。 作为技术人员,大家可能听说过“滚动发布”和“蓝绿发布”等术语,但是很多人并不清楚这些术语背后的原理。本文试图总结...

2019-02-11 11:39:24 997 1

原创 中国式微服务技术栈2.0

前言 近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据我个人的一线实践经验和我平时对Spring Cloud的调研,我认为Spring Cloud技术栈中的有些组件离生产级开发尚有一定距...

2019-02-11 11:29:39 487 0

原创 波波的技术选型哲学

一、前言 技术选型是一个很热门的话题,最近我看到自己的微信朋友圈有好几篇关于技术选型的文章,读者对这类主题的热情很高。在技术组织内部,技术人员经常会面临技术选型问题,有时候,技术选型还常常牵扯好几波干系人,相互之间还会产生争议,有的甚至还可能发展到派系斗争的地步。即便像我自己,已经有十几年研发和架...

2019-02-11 11:23:57 461 0

原创 成长型组织如何突破技术困局?

前言 2017年我全程参与了一家成长型组织的技术架构转型升级,本文是在2016年底,在正式启动技术转型之前,我个人的一些战略思考总结。现在转型已经取得阶段性成果,回过头来看,对于大部分成长型组织的技术转型升级,我认为本文还是蛮有借鉴价值的。 本分享假设针对提供互联网服务的软件研发型组织,其它类似涉...

2019-02-11 11:19:46 570 0

原创 聊聊Netflix的技术创新

前言 昨天晚上和同事一起吃晚饭,期间聊到Netflix技术那些大胆的创新,事后觉得有必要总结一下,给团队分享,让大家了解世界顶级的技术组织在技术、架构、组织和文化方面的创新。让大家在埋头干活的时候,偶尔也可以抬头看看天(大处着眼,小处着手)。于是就有了这篇文章。 注意,Netflix技术本身也在快...

2019-02-11 11:12:11 1831 0

原创 架构师必须知道的架构设计原则

一、前言 如果一个技术已经存在3年,比如现在很火的前端技术react和vue等,那么我能预估这个技术大致还有3年的生命期,再久就不确定了;如果一个架构或设计原则已经存在15年,例如单一职责和依赖倒置原则,我可以预期它还有15年甚至更久的生命期。原则是比具体技术更抽象,更接近事物本质,也更经得起时间...

2019-02-11 11:01:05 690 1

原创 工程师成长快车道

介绍 今年公司来了不少应届生还有实习生,我多次受邀给他们做一些和成长相关的分享,获得良好反馈,我想可以把这些分享总结成文,一方面下次自己就不用频繁去讲,新人来让他们看文章就好了,另一方面也是想把自己的心得分享给更多社会上的处在职业早期的年轻人。 我本人在软件研发行业工作有十多年,经历过不少公司,见...

2019-02-11 10:52:44 432 0

原创 波波的架构理念

背景 近期我会陆陆续续把我之前在infoq/聊聊架构等媒体上发表的文章,陆续搬到我的CSDN博客上,这个是第一篇。 这篇有特殊的意义,2015年下半年的时候,我还没有养成定期总结梳理的习惯,是极客邦的郭蕾鼓励我尝试。今天回头看,这个投资有很大价值,这一路积累了不少东西,后面需要持续积累,将价值和影...

2019-02-11 10:41:16 5113 0

提示
确定要删除当前文章?
取消 删除