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

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

2019-02-19 10:24:11

阅读数 55

评论数 0

一个创业失败案例的复盘

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

2019-02-16 10:09:10

阅读数 32

评论数 0

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

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

2019-02-15 10:34:40

阅读数 81

评论数 1

我为啥暂不看好ServiceMesh?

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

2019-02-14 13:05:52

阅读数 116

评论数 0

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

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

2019-02-13 10:14:26

阅读数 49

评论数 0

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

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

2019-02-12 11:26:39

阅读数 105

评论数 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

阅读数 222

评论数 0

Zuul网关生产部署实践

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

2019-02-11 13:05:17

阅读数 120

评论数 1

Zuul网关路由管理实践

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

2019-02-11 12:57:33

阅读数 90

评论数 0

微服务配置组件变色龙Archaius

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

2019-02-11 12:50:28

阅读数 144

评论数 1

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

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

2019-02-11 12:45:51

阅读数 171

评论数 0

携程Apollo配置中心的架构

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

2019-02-11 12:40:38

阅读数 116

评论数 0

如何不靠运气致富?

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

2019-02-11 12:30:02

阅读数 114

评论数 0

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

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

2019-02-11 12:23:33

阅读数 66

评论数 0

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

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

2019-02-11 12:19:48

阅读数 134

评论数 0

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

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

2019-02-11 12:15:15

阅读数 76

评论数 0

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

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

2019-02-11 12:06:45

阅读数 137

评论数 0

微服务2.0技术栈选型手册

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

2019-02-11 12:02:24

阅读数 101

评论数 0

四种核心架构思维

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

2019-02-11 11:56:35

阅读数 7907

评论数 1

微服务发布模式

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

2019-02-11 11:39:24

阅读数 84

评论数 0

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