EventMesh:微众银行开源的新型云原生事件驱动架构实践
前言 2020 年微众银行在 GitHub 上正式开源了 EventMesh。 EventMesh 和 DeFiBus一起作为微众银行已经开源的项目,目前支撑了微众银行每天亿级的金融交易。 作为一个动态插件式云原生基础服务,EventMesh 提供了灵活,可靠和快速的事件分发与处理,并且可进行管理。本篇文章将围绕 EventMesh 起源及原理等方面进行介绍,并结合微众银行的实践经验带领大家一起探索事件驱动架构。 01 什么是事件驱动架构 近年来,随着微服务、云原生和 Serverless 概念的普及以及容器化技术的发展,事件驱动也再次成为热点,引起IT界广泛的关注。事件驱动架构是一种用于设计应用的软件架构和模型。对于事件驱动系统而言,事件的捕获、通信、处理和持久保留是解决方案的核心结构。事件驱动架构可以最大程度减少耦合度,很好地扩展与适配不同类型的服务组件,因此是现代化分布式应用架构的理想之选。 解耦 基于这种松耦合,微服务可以用不同的语言实现。解耦后的微服务能够轻松地在网络上相互独立地扩展,通过动态添加或删除事件生产者和消费者来修改他们的系统,而不需要更改任何微服务中的任何逻辑。 基于推送通知的消息传输机制 事件驱动的体系结构中,客户端无需轮询就可以接收更新,事件在到达事件存储后就会通知给客户端,客户端可以随时接收更新,这对于动态数据转换、分析和数据科学处理非常有用。