-->

左耳听风_085_84_程序员练级攻略微服务

你好,我是陈浩网名。

猪尔多house微服务是分布式系统中最近比较流行的架构模型,也是SOA架构的一个进化。

微服务架构它并不是银弹,所以呢也不要寄希望于微服务架构能够解决所有的问题。

那微服务架构它主要解决的是如何能快速的开发和部署我们的服务。

那这一点对于一个能够适应快速开发和成长的公司是非常必要的。

同时呢我也觉得微服务中有很多很不错的想法和理念。

所以学习微服务呢是每一个技术人员迈向卓越架构师的必经之路。

首先呢,你需要看一下martin follow这篇关于微服务架构的文档micro service architecture.那这篇文章呢说明了微服务的架构与传统架构的不同之处啊,就是微服务的每个服务和它的数据库都是独立的,可以无依赖的进行部署。

你也可以通过文中的链接啊,来看一看martin folther老人家现身说法的视频。

另外呢你还可以简单的浏览一下各家对微服务的理解。

那接下来呢你可以看一下IBM红皮书micro services best practices for java.这本书非常好,它不单提到了通过spring boot和job visa来搭建java的微服务。

而且呢还谈到了一些标准的架构模型,比如说服务注册、服务发现、API、网关、服务、通讯数据处理、应用安全测试部署数有运维啊等等,是相当不错的一本书。

当然呢还有一本书你也可以读一下啊,就是微服务设计这本书全面介绍了微服务的建模、集成测试部署和监控。

通过一个虚构的公司讲解了如何建立微辅架构。

那它的主要内容呢,包括介绍微服务是如何帮助你的系统设计和你的组织目标相统一。

采用递增手段拆分单块大型应用,还有通过持续集成部署,微服等等与这个相似啊,也有其他的一系列文章值得一读。

我在文中呢还给你罗列了n dex上面的一组微服务架构的系列文章和auto zero blog上面一系列的微服务的介绍,还有design的spring boot教程啊,都是一些不错的资料。

那当然啊如果你想要玩的时髦一些呢,我推荐你使用这样的一套架构。

首先前端呢用react GS或者六GS后段呢用go语言加上微服务工具集go kit啊,因为是微服务了,所以每个服务的代码呢就简单了。

那既然简单了也就可以用任何语言了,所以呢我推荐go语言,然后通讯呢用GRPC.那这个呢是google远程调用的一个框架,它呢比restford调用要快二十倍到五十倍的样子。

Api呢用swagger, swagger是一种wrestle API的简单,但是强大的表示方式,它呢是一个标准和语言无关。

那这种表示方式呢,不单人类可读,机器呢也可读。

它可以作为rrestva API的交互式文档啊,可以作为为restval API形式化的接口描述,生成客户端和服务端的代码。

在今天呢所有的API都应该通过swagger来完成。

然后网关呢用every它包含了服务,发现负载均衡还有熔断等等这些特性啊也是一个很有潜力的网关。

那当然啊酷per netice也是很好的,而且它呢也是高扩展的,所以呢就完全可以把envory通过english集成进cuba netice.那开源项目counter呢,就是干这个事儿的。

另外呢日志监控我推荐用弗ND,加上ELK,而指标监控呢用promiscuse,而调用跟踪呢用yagger或者zip in.那当然呢后者比较传统一些,前者比较时髦,最重要的是它可以用promioals和envory集成。

最后自动化运维方面呢,我推荐docker,加上酷per natice.当我们对微服务有了一定的认识以后呢,一定会有很多同学分不清楚微服务和SOA架构。

那对此呢你可以看一下这本电子书叫做metro services, varial service oriented architecture.那通过这本书呢,你可以学到服务化架构的一些事实,还有基础的SOA和微服务的架构知识,以及两种架构的不同点。

这本书的作者马克理查兹同学呢拥有十年以上的SOA和微服务架构的设计和实现的经验。

另外呢文中还有几篇其他的对比SOV和微服务的文章,你也可以看一看。

那除此之外呢,我们还需要知道微服务和其他架构的一些不同和比较。

那这样呢我们就可以了解微服务架构的优缺点。

所以我在文中呢给你罗列了几篇文章,帮助你获得这些知识。

那接着呢你可以看一下微服务的一些设计模式,第一个叫做microservice patterns,微服务架构的设计模式和最佳实践。

那第二呢是micro service, anti partnons and beautiful恢复架构的一些已知的反模式和陷阱。

第三,micro service architecture, all the best practices you need to know.那这个呢是一篇长文里面讲述了什么是微服务,微服务架构的优缺点。

微服务最大的挑战和解决方案是什么?如何避免出错?还有构建微负架构的最佳实践啊等等多方面的内容。

推荐你读一读第四篇best practices for building a microservice architecture.这篇文章分享了构建微服务架构的最佳实践。

第五篇simplicity by distributing complexity.这个呢是一篇讲如何使用事件驱动构建微服架构的文章。

那其中呢有很多不错的设计上的基本原则。

那除了这些啊,我最后还想给你介绍两个相关的资源。

那第一个呢是micro services resource guide.那这个网页呢是martin follow给我们挑选的和微服务相关的文章、视频书或者是podcast.那第二个呢是awesome microservices.那它呢是一个各种微服资源和相关项目的集中点。

好了,我们总结一下今天的内容。

我认为微服务中呢有很多很不错的想法和理念。

所以说学习微服务呢是每一个技术人员迈向卓越架构师的必经之路。

在这节课中呢,我先给出的AWS microsoft和pivoto对微负的理解。

然后呢,我给出了好几个系列的课程,帮你全面的学习和理解微服务架构。

那接着呢通过一系列的文章帮你来区分什么是微服务,什么是SOV.那最后呢我给出了微负架构的设计模式和最佳实践,还有相关的资源。

相信通过这一系列内容的学习呢,你一定会对微服务有全面透彻的理解。

在下节课呢,我们将讲述容器化和自动化运维方面的内容,敬请期待。