写点什么

011 云原生之事件驱动架构模式

发布于: 刚刚
011云原生之事件驱动架构模式

简单来说,事件驱动架构是基于事件进行的通信架构。对于事件驱动的系统来说,事件的生成、捕获、通信、监听处理和持久化都是核心结构。这与面向对象设计(OOP)、函数式编程(FP)等基于 API 的调用之间存在很大的差距。


事件是指对发生在过去某一时间点状态变化的记录。由于是已经发生的事情,因此事件是不可改变的,即事件是只读的。事件是依赖消息的通信完成通信和消费的,而消息通信的核心就是异步的架构设计


在分布式系统设计中,有一个非常知名的 CAP 定理,即在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性)三者不可得兼。目前,有一个非常值得推荐的方案是 Availability overConsistency(可用性高于一致性),即强调要加强可用性,这也说明了通过基于事件的最终一致来保证系统一致性是比较合理的。


是否能够做到读写分离是界定微服务应用好坏非常重要的依据。首先,读和写的技术栈不一样,例如,写需要事务保证、触发事件等,而读主要是关心搜索条件组合、提升响应时间等。另外,容量规划也不一样,通常读服务需要的服务器相对来说会多一些。


网关也称统一接入层,主要负责处理南北流向(North-SouthTraffic)的网络请求,如来自浏览器、手机移动端或合作伙伴等的访问流量都会经由网关转发给具体的业务系统。


对一般性的产品做漏洞测试时,运维人员先通过日志和监控工具快速定位问题所在,再采取回滚的策略,即可实现快速修复。混沌工程与之不同,它要检验的问题复杂得多。所以针对类似于“双 11”这样极具挑战性的场景,更加需要进行压力测试和混沌测试,需要能够模拟出各种异常的状况(比如,网络不可用、服务不可用、服务超时等),与多种测试方法相结合,从而保证最终的产品可靠性。


发布于: 刚刚阅读数: 3
用户头像

InfoQ签约作者 2018.11.30 加入

还未添加个人简介

评论

发布
暂无评论
011云原生之事件驱动架构模式