好处:异步和解耦
灵感突现:要尽量保护数据库,不让外部应用感受到数据库的存在(对核心数据加解密,异步同步缓存,搜索)
灵感突现:不读历史,你就不知道你现在用的技术的好处,万物皆如此
同:
synchronized可以做主存与线程副本之间的同步,volatile只有主存
将数据从主存复制到线程副本将数据从线程副本同步到主存异:
synchronized可以做互斥
加锁的方式有5种 synchorized lock countdownlatch 栅栏 信号量
信号量主要是为了细粒度的控制并发量
服务分组好处是机器分组 服务隔离
解决jar包冲突最好的办法是自定义class loader 实现类加载隔离
超时 其实就一个定时任务 超时后调用回调函数响应超时 远程调用的四种方式 Oneway不关心结果 2 被动回调 3 future 主动控制超时 4 可靠异步就是消息中间件
rpc的过程 路由 编码 代理 网络 限流 解码 反射 返回
也就是业务操作成功后,消息一定会发出去 ,业务失败,消息一定发不出去
先将消息写入中间件库 状态为待处理然后调用业务操作,如果成功后 将消息改为待发送,失败的话 删除消息点对点: 消息只会被一个应用消费,一个应用消费了,另一个应用就不能再次消费了
发布订阅:消费者可以独立收到所有到达Topic的消息
集群id:对各个连接以集群id分组
点对点模型:在集群内部使用点对点模型,一个应用消费了 其他应用不能消息
持久订阅:即使应用宕机了,消息也会被保存,等应用恢复后,继续消费
持久传输和非持久传输最大的区别是:采用持久传输时,传输的消息会保存到磁盘中(messages are persisted to disk/database),即“存储转发”方式。先把消息存储到磁盘中,然后再将消息“转发”给订阅者。当Borker宕机 恢复后,消息还在