首页 > 其他分享 >Solon2 分布式事件总线的技术价值?

Solon2 分布式事件总线的技术价值?

时间:2023-03-12 16:24:26浏览次数:60  
标签:用户注册 总线 0.5 响应 事件 Solon2 分布式

分布式事件总线在分布式开发(或微服务开发)时,是极为重要的架构手段。它可以分解响应时长,可以削峰,可以做最终一致性的分布式事务,可以做业务水平扩展。

1、分解响应时长

比如我们的一个接口处理分为四段代码,别分耗时:A段(0.5s),B段(1s),C段(0.5s),D段(3s)。如果同步响应的话,用户一共需要等待 5s,这个体验肯定不怎么好了。我们可以借分布式事件总线,做完A后,发一个事件,由事件订阅者再去完成B,C,D;那用户的感觉就是0.5S就完成了,体验就会比较好。(如果是单体,可以自己订阅;如果是分布式,可以由其它服务订阅)

2、 削峰

这个事情跟“响应时长”有极大的关系。比如一个接口响应需要5s,每秒请求数有200个,那舜间的并行请求就会有1000个(上一秒的未处理完,下一秒的又来了嘛),这个请求就会堆积如山,山峰也会越来越高。突然一波大流量就服务器可能挂了。

如果是0.5s,那并行处理就只会有100个。当前服务器的内存和cpu消耗也会10倍级的下降。

3、 做最终一致性的分布式事务

事件一但发送成功,中间件就会一直“盯”着你把事件消费成功为止。如果消费失败了,它会过段时间再发给你,直到你成功为止。(处理时,要注意“幂等性”控制。分布式环境,总会有不确定原因)

4、 业务水平扩展

这个是“分布式事件总线”的灵魂级妙处。你开发了一个用户注册的接口。一周后,产品说“用户注册完送5个Q币”,旧的生产环境不用动,你只需要开发一个新的服务,订阅注册完成事件做处理;一个月后,产品说“用户注册完成后,给他推送电信的大礼包活动”;后来产品又说“用户注册后7天后,如果有上线3次,再送10个Q币”。。。这个就是指“业务水平扩展”了。在不动原代码和原服务,就扩展业务。

如果我们还有一个FaaS平台,可以动态的扩展事务。产品爱怎么搞,就怎么搞。像 Water 就有这样的动态事件功能(在线编即,实时生效或删除)。

标签:用户注册,总线,0.5,响应,事件,Solon2,分布式
From: https://www.cnblogs.com/noear/p/17208382.html

相关文章

  • 二、分布式文件系统概述
    ​ 1分类1.1通用分布式文件系统​和传统的本地文件系统(如ext3、NTFS等)相对应。典型代表:lustre、MooseFS1.1.1优点​标准文件系统操作方式,对开发者门槛较低1.1.......
  • 分布式、高性能和高可用解决方案 (分布式)
    1分布式分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作。切记,分布式一定是存在网络分区的。2使用分布式需要解决......
  • platform总线注册
    kernel_init();kernel_init_freeable();do_basic_setup();driver_init();platform_bus_init();   platform总线的......
  • 10分钟快速掌握分布式版本控制系统GIT命令集【形成知识体系篇】
    任务要求要求全部使用git命令实现1、创建本地仓库,项目名称为hniu_site2、在仓库下创建多级(目录)文件夹cn/hniu/班级名称(例如软件2108,cn/hniu/rj2108)3、在班级名称下新......
  • Pytest - 分布式执行插件:xdist
    pytest-xdist分布式测试插件安装$pipinstallpytest-xdist测试代码准备classTest:deftest_sleep_2(self):sleep(2)assertFalse......
  • 分布式架构-可靠通讯-服务安全
    引子上一节“分布式架构-可靠通讯-零信任网络”里,我们探讨了与微服务运作特点相适应的零信任安全模型。本节,我们将从实践和编码的角度出发,介绍在前微服务时代(以SpringCl......
  • Platform平台总线模型
    Device.c文件:设备释放函数设备的资源信息platform_device结构体设备初始化函数设备退出函数 文件中涉及到的定义:/*寄存器的物理地址*/#defineCCM_CCGR1_BA......
  • 爆肝两万字,详解fastdfs分布式文件系统
    1.学习目标2.简介技术论坛:http://bbs.chinaunix.net/forum-240-1.html资源地址:https://sourceforge.net/projects/fastdfs/源码地址:https://github.com/happyfish100......
  • [java-project-gl]分布式缓存
    分布式缓存缓存常见的问题缓存穿透缓存和数据库中都没有的数据,而用户不断发起请求,导致数据压力过大,甚至击垮数据库比如黑客会对你的系统进行攻击,拿一个不存在的id去查......
  • 浅析三款大规模分布式文件系统架构设计
    什么是文件系统当提到文件系统,大部分人都很陌生。但我们每个人几乎每天都会使用到文件系统,比如大家打开Windows、macOS或者Linux,不管是用资源管理器还是Finder,都是在......