本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:恒丰银行微服务架构优化实践(4)

时间:2017-07-19 14:48来源:118论坛 作者:118KJ 点击:
更好的弹性部署能力。可动态配置的服务组件部署机制,支持多种集群部署模式;从并发处理能力、单位时间最大吞吐量、线程资源等多个维度实现弹性的

更好的弹性部署能力。可动态配置的服务组件部署机制,支持多种集群部署模式;从并发处理能力、单位时间最大吞吐量、线程资源等多个维度实现弹性的服务部署策略;与 Docker 容器云技术结合实现硬件资源的弹性扩容。

Skyline 平台解决了系统容错、集群弹性部署、快速开发测试、应用服务间集成、数据并行化处理、系统过载的服务可用性等关键问题,对移动互联场景下高性能数据应用服务开发提供了完整有效的平台工具支持;基于 Zebra 语言编写的商业逻辑代码能有效屏蔽底层服务技术细节,加快分布式并行数据处理应用服务的开发效率。恒丰银行在客户营销、风险管理等多个业务领域基于 Skyline 平台开发了近 30 多个应用和公共服务,单节点的 QPS 值达到 7 万多,应用服务的总体硬件成本降为原来的 1/5-1/10,高质量分布式软件服务的开发成本降为原来的 1/2,并且可以节约较多的商用中间件软件的采购成本。

InfoQ:请介绍在微服务架构下,是如何与大数据软件生态集成,如何快速开发实时创新应用的?

曾光尧:Skyline 平台主要通过如下几个方面实现和大数据软件生态的集成和整合:

开发相关网络服务适配器。将我们能用到的大数据软件(如 Kafka、Hbase、Spark 等)的客户端代码包装成可动态配置参数的适配器组件,屏蔽复杂的接口交互细节、异常处理等事项,该组件能被容器部署并动态管理,在 Zebra 脚本语言中异步调用,并支持多种并行处理模式对应用加速。

实现了分布式实时消息总线。通过服务代理机制集成了 MQ、Kafka 等多种消息设施。与其他技术方案相比,提供了统一的发布订阅编程原语,容易扩展集成多种消息设施,可在客户端与客户端、客户端与服务器以及多个服务器之间实现一致性的即时消息通讯开发;支持可插入式的消息编码解码算法,支持 Pub-Sub、RPC、OneWay 三种接口调用方式,可在 Web 端通过 WebSocket 直接调用 Zebra 函数实现分布式并行数据处理。

Skyline 分布式实时消息总线结合 Flume、Kafka,打造完整的实时流处理平台。开发操作系统、数据库和各种网络服务的数据探针,对接多种系统数据源;开发管理工具,支持数据采集、格式化处理、数据过滤、聚合计算、数据补全、数据存储、数据流控等过程的动态配置和自动化部署;可动态嵌入 Zebra 语言编写的业务逻辑处理代码,提升后端服务的并行处理效率。与其他流处理方案相比,业务编程更简单,可实现高并发无阻塞的业务处理过程,支持多系统动态集成,可充分利用分布式硬件资源优势。

开发面向业务团队的实时智能决策引擎。业务团队可通过可视化工具配置客户营销、风险管理等领域的业务知识库、业务规则路由,支持复杂规则驱动的业务逻辑处理,实现营销机会的实时推送和潜在风险的实时预警。

以信用卡交易监测应用为例,基于 Skyline 平台的实现步骤如下:

在流处理管理平台定义 APM 网络报文日志实时采集和动态解析加工规则,自动部署 agent 到相关应用服务节点;flume collect 将 agent 发过来报文数据按预定义的规则解析成结构化数据,转入 Kafka 的交易信息主题。

执行 Zebra 业务处理代码的流处理组件订阅了交易信息主题,能及时收到相关交易数据,异步存储到实时流缓存数据库;交易数据接着触发实时智能决策引擎的规则推理过程,输出判断交易风险的分类数据,并转发到信用卡交易风险数据主题。

信用卡交易风险数据主题被风险处置的流业务组件所订阅,可以根据风险分类等级,确定执行卡冻结、还是增加新的验证环节等处置手段。

整个过程大部分可通过实时流处理平台的数据采集和加工解析配置、智能决策引擎的知识库与规则路由配置,加上较少的 Zebra 业务处理代码来实现,大数据平台上的实时创新应用开发会比较快。

InfoQ:恒丰银行针对微服务架构做了哪些性能优化、性能调优方面的举措?如何提升它的高可用性能?

曾光尧:恒丰银行在构建 Skyline 微服务架构平台时设计了如下性能优化的机制:

Skyline 的协程架构和异步服务调用机制,zebra 编写的业务逻辑处理组件在容器中可以用接近于逻辑核的线程数实现无阻塞运行,j2直播,完全避免了线程切换成本。

网络服务通过适配器组件包装并单独 docker 化部署,可实现不同访问成本任务的差异化并发控制,最大化提升后端传统服务架构的吞吐量,与业务逻辑任务有效隔离,避免不同类型代码模块的执行速度失配,影响系统整体的高并发服务能力。

Skyline 的分布式实时消息总线,可实现各种设备与后端服务的长连接,减少网络延迟时间。

Zebra 语言提供的多种任务并行化机制,可提升单个任务的并行度,充分利用分布式硬件资源,极大降低任务的响应时间。

Skyline 平台基于 Actor 的组件编程模式,消除了资源锁竞争,提高了并发任务的执行效率。

大部分应用调优可通过 Skyline 平台组件容器的运行策略动态调整解决,具备运维的便利性。

高可用性主要体现在如下方面:

Docker 容器化部署实现了硬件故障的失效转移和快速重启。

(责任编辑:本港台直播)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容