activemq是干什么的?
即时消息通信,简单说: A发送消息给activemq 服务,B监听服务获取消息。
假如有如下场景: A发送了一个请求,但是这个请求需要做 10 项工作,如果按照正常操作,需要等待10项操作完成,
显然是很慢的。比如京东购物,我们看到的可能只是生成了一个订单,实际上可能还有其他操作。
那么如何做到快速响应用户的操作呢? A发送请求直接给activemq ,然后返回。剩下的工作等待其他服务自己去消费。。
master-slave 主从(集群)。多个服务器提供相同的服务 。。 但是通常如果主不挂掉,从就不会参与工作,造成
资源浪费。于是有了broker-cluster( 负载均衡):有两个服务A和B , 在A上有一个消息M ,但是A上并没有消费者在消费,而如果
B上有人要消费M ,则B会通过网络获取消息M 提供给B的消费者,避免服务的浪费。
Redis: 高性能键值数据库,存放在内存相对数据库更快。。 比如网站首页的一个列表,通常来说某段时间是不变的,没必要每次访问
都去查询数据库,可以将查询结果存放到redis ,下次直接访问redis.而且相对数据库,redis 的数据格式更加灵活,而且提供了更丰富的
数据操作: 如去最新n个数据,排行榜。 其他应用场景:会话缓存,网页缓存提高访问速度,队列。