go小白入门 | 青训营笔记

91 阅读2分钟

青训营课程笔记

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天,今天主要学习了架构以及相关架构实战。

架构

常见的架构有1.单机2.单体3.垂直应用4.SOA (Service Oriented Architecture)5.微服务。

对于架构的重要性问我思考后认为一个良好架构的最终目的应是以最低的人力成本来达到建设与维护这个体系的要求。成本不仅包括开发成本,还有构建运互运营的成本。而增加软件可变性就是架构达到最终目标的核心途径这和昨天所学的规则引擎有异曲同工之妙都在尽可能节约成本、提高效率。当我们探讨可行性和可变性时我们知道,架构应当具有较高的可变性这样在应对频繁出现的bug,它的缓冲性能更好,相比只实现可行性的架构在基础上它无法真正意义应对较多的问题,会导致最后整个系统的瘫痪。

架构剖析

单机架构具有简单但是不时停服、用户体验差、承载力有限的问题(早期页游)。 单体架构具有水平扩容、小问题导致大崩溃的问题(但是改善了停服问题)。 垂直应用架构具有一定程度减少后端进程和缩小爆炸范围的特点。 soa框架则有职责清晰、企业服务需一条总线的问题。 最后是如今go语言渗透的微服务架构,它具有架构清晰,运维成本低灵活敏捷等特点。

微服务架构

作为一种将应用于服务部署到云上的新型技术。大多数关于微服务的争论都集中在容器或其他技术能否很好地实现微服务上,红帽认为API应该成为焦点。

微服务具有的:轻量级设备与HTTP型API进行沟通,可以做到特定服务增加所需功能而不影响进程。在未来通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展。

0b46f21fbe096b63144c31c406338744eaf8acc9.jpg