Stella981 Stella981
3年前
Linkis架构解析系列(一)——Linkis RPC架构解析
“为了提升Linkis的高并发能力,Linkis基于微服务架构,在Feign的基础之上,实现了一套自己的底层RPC通信方案,用以提升微服务间的通信性能和并发能力。”基于Feign的微服务之间HTTP接口调用,只能满足简单的A微服务实例根据简单的规则随机访问B微服务之中的某个服务实例,而这个B微服务实例如果想异步回传信
Stella981 Stella981
3年前
EventBus原理深度解析
一、问题描述在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于EventBus使用起来简单、便捷,因此,工作中会经常用到。深入理解该框架的原理就很有必要。二、框架解析2.1、组织结构
Wesley13 Wesley13
3年前
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接
一直以来J2Cache都是使用Jedis连接Redis服务的。Jedis是一个很老牌的Redis的Java开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的Redis开发包。但是Jedis比较推出时间比较早,整个设计思路比较传统,例如不支持异步操作,接口设计比较繁琐老套(相比其他开发包而已),
Stella981 Stella981
3年前
Node.js 多进程处理CPU密集任务
Node.js单线程与多进程大家都知道Node.js性能很高,是以异步事件驱动、非阻塞I/O而被广泛使用。但缺点也很明显,由于Node.js是单线程程序,如果长时间运算,会导致CPU不能及时释放,所以并不适合CPU密集型应用。当然,也不是没有办法解决这个问题。虽然Node.js不支持多线程,但
Stella981 Stella981
3年前
Socket接口固定QPS性能测试实践
在学习了Socket协议的知识和完善固定QPS压测模型之后,打算对Socket.IO协议的接口进行一波压测实践,来验证自己写的功能是否存在BUG和更多能做的优化空间。总结下来,修复了两三个BUG,性能测试进度条的计算方式进行了优化,不然在类似Socket这种异步处理的请求,可能会由于统计的doing()方法耗时太少
Stella981 Stella981
3年前
Spring Boot实践
一.认识JMS1.1概述对于JMS,百度百科,是这样介绍的:JMS即Java消息服务(JavaMessageService)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提
Wesley13 Wesley13
3年前
JS批量根据地址查询百度地图经纬度
因为百度的JSAPI是异步的,批量查询的时候会乱掉,就把每次请求变成同步的,等请求返回了之后才进行下一个地址的查询。设置一个全局flag来标识当前请求是否正常响应,并且不断的检查这个flag,如果正常响应,才进行下一次的请求,这样就不容易乱掉引入JS<scripttype"text/javascript"src"http://ap
Stella981 Stella981
3年前
Netty堆外内存泄露排查与总结
导读Netty是一个异步事件驱动的网络通信层框架,用于快速开发高可用高性能的服务端网络框架与客户端程序,它极大地简化了TCP和UDP套接字服务器等网络编程。Netty底层基于JDK的NIO,我们为什么不直接基于JDK的NIO或者其他NIO框架:1.使用JDK自带的NIO需要了解太多的概念,编程复杂。2
Stella981 Stella981
3年前
Raft分布式一致性算法整理
CAP定理1.Consistency:一致性2.Availability:可用性3.Partitiontolerance:分区容错性CAP定理指出,在异步网络模型中,不存在一个系统可以同时满足上述3个属性。换句话说,分布式系统必须舍弃其中的一个属性。对于需要在分布式条件下运行的系统来说,如何在一致性、可用性和分区容错