[讨论]如何提高平台效率? 本帖最后由 defonds 于 2014-05-22 09:35:12 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、可行。容器在性能上肯定没有自定义的高(前提是要有一定的水平),它包含了一些不需要的模块,并且不能为特定的业务做特定的优化,所以面对大并发的服务器,很多都是自己写接入层2、AB既然是同步的交互,引入消息队列意义不大,队列本身是异步解耦的架构上的优化思路,拿一个同步的业务去套这个思路,没什么意义,再怎么排队也无法突破性能瓶颈在B上,并且业务是同步这个事实 楼主的需求明显是WebService来做是最好的。WebService本身就不依赖于Servlet,没有jsp这些显示层的东西,提供数据的交互处理。不要自建服务器,因为tomcat或weblogic都提供很好的可配置并发处理请求,以及消息队列。 谢谢 回复。针对2的回答,我想继续深究下。1:队列的引入,会不会是为了数据处理的安全性,而不只是效率,防止A端并发高于B端,出现了漏处理、没处理的情况。2:针对同步机制,从哪些方面考虑,去提高处理效率呢?首先,队列不是用来保证安全的,是用来做异步解耦的,适用于业务可以被分拆于异步的场景然后,你要理解消息队列这个东西其实也就是一个内存+分发,并不能防止生产者生产消息速率远大于消费者消费效率。一旦出现这样的情况,不管你用不用队列都会出问题。不用队列你的请求响应就会非常慢,用队列你的队列服务器就会因为内存爆满而挂掉,或者丢失大部分消息。最后,你的问题不在于用不用队列,你要解决的问题是生产者的生产速率大于消费者的消费速率的问题。思路:1、在B端做扩展,提高消费者的消费速率2、在A端做控制,当并发达到一定程度的时候主动拒绝请求到AB端产生/消费消息的速度达到一个和谐(不会因为并发太大撑爆消费者)的时候,再来考虑你的业务是不是可以拆分为异步,然后引入消息队列 谢谢 回复。针对2的回答,我想继续深究下。1:队列的引入,会不会是为了数据处理的安全性,而不只是效率,防止A端并发高于B端,出现了漏处理、没处理的情况。2:针对同步机制,从哪些方面考虑,去提高处理效率呢?首先,队列不是用来保证安全的,是用来做异步解耦的,适用于业务可以被分拆于异步的场景然后,你要理解消息队列这个东西其实也就是一个内存+分发,并不能防止生产者生产消息速率远大于消费者消费效率。一旦出现这样的情况,不管你用不用队列都会出问题。不用队列你的请求响应就会非常慢,用队列你的队列服务器就会因为内存爆满而挂掉,或者丢失大部分消息。最后,你的问题不在于用不用队列,你要解决的问题是生产者的生产速率大于消费者的消费速率的问题。思路:1、在B端做扩展,提高消费者的消费速率2、在A端做控制,当并发达到一定程度的时候主动拒绝请求到AB端产生/消费消息的速度达到一个和谐(不会因为并发太大撑爆消费者)的时候,再来考虑你的业务是不是可以拆分为异步,然后引入消息队列谢谢回复。如果需求允许我对A、B端进行修改,那么这个问题就不是问题了哦。 swfupload上传文件 根据什么条件搜索时,分页显示翻页时出现错误,怎么解决 数据库涉及的字段太多(几千个)如何解决 文件名显示为中文,但是在点击保存或“另存为”时对话框中的文件名却显示为乱码。 XML简单问题 jsp中如何实现定时提醒 这是什么错误? 高分求解,如何截获一个页面不让它显示,而把全部内容到一个jsp页面上处理?? 恳求一个使用frame的JSP例子程序 怎样在WIN98中配置JSP服务器 在.java 中得到一个 String 想把这个值传给index.jsp中,并在页面中显示出来 如何禁止网页查看源代码和被FireBug和IE等工具调试?
谢谢 回复。针对2的回答,我想继续深究下。
1:队列的引入,会不会是为了数据处理的安全性,而不只是效率,防止A端并发高于B端,出现了漏处理、没处理的情况。2:针对同步机制,从哪些方面考虑,去提高处理效率呢?
首先,队列不是用来保证安全的,是用来做异步解耦的,适用于业务可以被分拆于异步的场景然后,你要理解消息队列这个东西其实也就是一个内存+分发,并不能防止生产者生产消息速率远大于消费者消费效率。一旦出现这样的情况,不管你用不用队列都会出问题。不用队列你的请求响应就会非常慢,用队列你的队列服务器就会因为内存爆满而挂掉,或者丢失大部分消息。最后,你的问题不在于用不用队列,你要解决的问题是生产者的生产速率大于消费者的消费速率的问题。思路:
1、在B端做扩展,提高消费者的消费速率
2、在A端做控制,当并发达到一定程度的时候主动拒绝请求到AB端产生/消费消息的速度达到一个和谐(不会因为并发太大撑爆消费者)的时候,再来考虑你的业务是不是可以拆分为异步,然后引入消息队列
谢谢 回复。
针对2的回答,我想继续深究下。
1:队列的引入,会不会是为了数据处理的安全性,而不只是效率,防止A端并发高于B端,出现了漏处理、没处理的情况。2:针对同步机制,从哪些方面考虑,去提高处理效率呢?
首先,队列不是用来保证安全的,是用来做异步解耦的,适用于业务可以被分拆于异步的场景然后,你要理解消息队列这个东西其实也就是一个内存+分发,并不能防止生产者生产消息速率远大于消费者消费效率。一旦出现这样的情况,不管你用不用队列都会出问题。不用队列你的请求响应就会非常慢,用队列你的队列服务器就会因为内存爆满而挂掉,或者丢失大部分消息。最后,你的问题不在于用不用队列,你要解决的问题是生产者的生产速率大于消费者的消费速率的问题。思路:
1、在B端做扩展,提高消费者的消费速率
2、在A端做控制,当并发达到一定程度的时候主动拒绝请求到AB端产生/消费消息的速度达到一个和谐(不会因为并发太大撑爆消费者)的时候,再来考虑你的业务是不是可以拆分为异步,然后引入消息队列
谢谢回复。
如果需求允许我对A、B端进行修改,那么这个问题就不是问题了哦。