【问题】分布式、缓存、消息、负载均衡等机制和实现

tseng_monkey 2016-11-08 10:14:12
加精
今天在论坛里想问一问:
1、什么是分布式服务框架?
2、分布式、缓存、消息、负载均衡等机制和实现?
各位大神好,本小生从事java开发快两年了,不过对于以上两个问题还是觉得摸不着边际,很抽象的感觉,别人问我这两个问题的时候,我也说不出具体的东西,因为感觉在工作中没接触到这些,所以希望论坛里的大神们能给予小弟一些指导,如何去了解这块的只是,有没有这一块的资料提供学习?
...全文
14050 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27082035 2017-10-18
  • 打赏
  • 举报
回复
6666666
bz1110 2017-01-18
  • 打赏
  • 举报
回复
了解了
ryuugu_rena 2016-12-13
  • 打赏
  • 举报
回复
我什么都不会怎么办?
会飞的蝴蝶11 2016-12-13
  • 打赏
  • 举报
回复
我也在学,不知道从哪里下手
黄小鱼ZZZ 2016-12-06
  • 打赏
  • 举报
回复
引用 5 楼 shijing266 的回复:
1、首先你的理解什么是分布式: 分布式是把一个完整的系统/业务拆分成多个子系统、子业务去协同处理,并且子系统都能执行特定的功能 2、什么是缓存,缓存你可以理解为一个数据的预加载,即把部分数据线存起来,用于显示或者其他操作 3、什么是消息,消息可以理解为就是一个传输信息,告诉接收者需要做什么 具体其他的,可以参照我这边的一些总结吧:参考
学习了
w939800704 2016-12-02
  • 打赏
  • 举报
回复
分布式模块间 数据的交流, 数据库(数据库应该也要多个) 这些完全不想不知道怎么解决 大神们给给意见呗
上海-公子 2016-11-28
  • 打赏
  • 举报
回复
强势围观中。
Jiangxiaojun_cd 2016-11-17
  • 打赏
  • 举报
回复
6666666666666666666666666
kaifadi 2016-11-17
  • 打赏
  • 举报
回复
引用 3 楼 wangbintao1992 的回复:
工作2年半,希望有错指出 分布式:如人体一样,不同系统处理不同任务,如t1(tomcat) 处理登录,登录成功后转发给t2。当然这是最简单的举例,应用数不胜数,不敢在很多大神面前班门弄斧。分布式服务,阿里dubbo,就不复制粘贴了,官网上说的挺清楚。 缓存:最简单的距离,去dao请求数据,先去缓存暂定redis,如果发现有,返回数据,不去数据库查询。也可以把一些常用的数据放置到redis里,再用其服务专门去更新,比如京东的价格服务,全部是redis前置,非常快速。 消息:MQ,Java ee标准,阿里的RocketMQ,很多实现。应用于服务解耦,距离,下订单系统,不需要知道订单发给谁了,只用发送给MQ就行,MQ根据订阅发给消费者,这时候,生产者和消费者就解耦了,处理订单的逻辑可以随时更换,而不依赖生成订单的逻辑,中间MQ也可以做持久化,万一服务挂了,消息都存在MQ里, 有保障。也只是一方面。 负载均衡:举例,阿里的dubbo,hash软负载均衡,分摊请求压力,平均分散到集群上。硬件负载均衡就不说了,不懂。 nginx也常用,前置nginx+后置tomcat。大体思路就是,将一大坨请求平均分散。 希望可以帮到你。我原来也困惑过,学习工作后,了解一点点而已。不献丑了
赞同这个
Name_荔枝 2016-11-10
  • 打赏
  • 举报
回复
围观大神回复
hugh_z 2016-11-09
  • 打赏
  • 举报
回复
666666666666666666
cattpon 2016-11-09
  • 打赏
  • 举报
回复
learning~
ygt1219 2016-11-08
  • 打赏
  • 举报
回复
分布式服务框架服务框架有很多呀,比如hadoop,像缓存的话redis跟Memcached是占主流的。负载均衡其意思就是分摊到多个操作单元上进行执行...
  • 打赏
  • 举报
回复
1、首先你的理解什么是分布式: 分布式是把一个完整的系统/业务拆分成多个子系统、子业务去协同处理,并且子系统都能执行特定的功能 2、什么是缓存,缓存你可以理解为一个数据的预加载,即把部分数据线存起来,用于显示或者其他操作 3、什么是消息,消息可以理解为就是一个传输信息,告诉接收者需要做什么 具体其他的,可以参照我这边的一些总结吧:参考
Readiay 2016-11-08
  • 打赏
  • 举报
回复
什么东西都是有一个发展过程的,很久之前的软件还是桌面开发,就是单机,游戏也大多是单机游戏。后来技术发展了,就有了网络,网络发达之后上网的人自然就多了,于是乎一台电脑就很难完成那么多请求的服务了。于是按照面向对象的思维,从现实生活中提炼出来了解决方案,就是集群,或者说分布式部署。 生活中的场景也就是包工头带领一群农名工的形式,你所发起的每一个请求都需要给包工头,包工头会把任务分给下面的农民工。这种让每个农民工都有事情就是负载均衡了。常见的就是nginx结合tomcat,nginx做负载均衡将请求转给下面的很多tomcat种的其中一个。 但是不论什么软件都会访问数据库的,数据库访问毕竟涉及到磁盘IO的读写,效率自然比较低,有些数据基本上是99次读,一次写的。如果每次读取都访问数据库,那么数据库表示压力很大,于是使用缓存,就是将数据存到内存中,内存的速度是硬盘访问的很多被,从而提高效率,常见的就是memcached或者redis。如果数据量比较小,java的hashmap都可以当内存缓存存一些数据的。 消息这个东西其实就是一些请求参数或者什么东西,常见的就是mq服务之类的。 学习资料的话,你所听见的每个技术都去学一下,要学的太多了。
wangbintao1992 2016-11-08
  • 打赏
  • 举报
回复
工作2年半,希望有错指出 分布式:如人体一样,不同系统处理不同任务,如t1(tomcat) 处理登录,登录成功后转发给t2。当然这是最简单的举例,应用数不胜数,不敢在很多大神面前班门弄斧。分布式服务,阿里dubbo,就不复制粘贴了,官网上说的挺清楚。 缓存:最简单的距离,去dao请求数据,先去缓存暂定redis,如果发现有,返回数据,不去数据库查询。也可以把一些常用的数据放置到redis里,再用其服务专门去更新,比如京东的价格服务,全部是redis前置,非常快速。 消息:MQ,Java ee标准,阿里的RocketMQ,很多实现。应用于服务解耦,距离,下订单系统,不需要知道订单发给谁了,只用发送给MQ就行,MQ根据订阅发给消费者,这时候,生产者和消费者就解耦了,处理订单的逻辑可以随时更换,而不依赖生成订单的逻辑,中间MQ也可以做持久化,万一服务挂了,消息都存在MQ里, 有保障。也只是一方面。 负载均衡:举例,阿里的dubbo,hash软负载均衡,分摊请求压力,平均分散到集群上。硬件负载均衡就不说了,不懂。 nginx也常用,前置nginx+后置tomcat。大体思路就是,将一大坨请求平均分散。 希望可以帮到你。我原来也困惑过,学习工作后,了解一点点而已。不献丑了
polo_longsan 2016-11-08
  • 打赏
  • 举报
回复
推荐楼主几本书《大型网站技术架构:核心原理与案例分析》,《大型网站系统与Java中间件实践》,《实用负载均衡技术:网站性能优化攻略》。前两本书详细介绍了分布式系统,分布式缓存,负载均衡而且详细介绍了为什么要用这些技术;第三本书主要讲负载均衡。
Learners_wj 2016-11-08
  • 打赏
  • 举报
回复
分布式服务框架服务框架有很多呀,比如hadoop,像缓存的话redis跟Memcached是占主流的。负载均衡其意思就是分摊到多个操作单元上进行执行...

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧