实现高可用的两种方案与实战
我之前在一片文章 用Nginx+Redis实现session共享的均衡负载 中做了一个负载均衡的实验,其主要架构如下:
把debian1作为调度服务器承担请求分发的任务,即用户访问的是debian1,然后debain1把请求按照一定的策略发送给应用服务器:debian2或者debain3,甚至更多的debain4、5、6……
我之前在一片文章 用Nginx+Redis实现session共享的均衡负载 中做了一个负载均衡的实验,其主要架构如下:
把debian1作为调度服务器承担请求分发的任务,即用户访问的是debian1,然后debain1把请求按照一定的策略发送给应用服务器:debian2或者debain3,甚至更多的debain4、5、6……
本文来谈谈自己关于阅读源码的一些心得体会,希望大家能够提供更好的意见,留言回复。 阅读全文
原文链接 邀请者:小村长
本篇是 Open JDK10官方文档的新特性介绍翻译邀请函。北京时间3月21日,Oracle官方宣布JDK10正式发布。从此JDK开启一个新的旅程。因为Oracle和OpenJDK大致相同,所以在此采用的是OpenJDK的版本进行翻译的。本次翻译邀请针对对新技术感兴趣的同学,希望本次翻译大家积极参加,同时能够以专业的素养为大家提供一份技术盛宴。
通过评论领取想要翻译的文章,每次领取一章或一节(根据内容长短),翻译完后再领取其他章节。领取完成之后,译文最好在一个星期内翻译完成,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译。请谨慎领取,很多文章领取了没有翻译,导致文章很长时间没人翻译。
本文接着上文应用限流进行讨论。
之前谈到的限流方案只能针对于单个 JVM 有效,也就是单机应用。而对于现在普遍的分布式应用也得有一个分布式限流的方案。
基于此尝试写了这个组件:
基于一致性哈希的分布式内存键值存储——CHKV。
在前面的文章 并发编程之——写锁源码分析中,我们分析了 1.8 JUC 中读写锁中的写锁的获取和释放过程,今天来分析一下读锁的获取和释放过程,读锁相比较写锁要稍微复杂一点,其中还有一点有争议的地方——锁降级。
今天就来解开迷雾。
之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。
本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang?)。
本文所有涉及的代码:
Dubbo作为高性能RPC框架,已经进入Apache卵化器项目,虽然官方给出了dubbo使用的用户手册,但是大多是一概而过,使用dubbo时候要尽量了解源码,不然会很容易入坑。 阅读全文
摘要:
本文介绍了JetCache的异步API,通过异步方式访问缓存可以提升性能,降低RT。
JetCache的异步API和同步API是完全兼容的,甚至用同步的开发方式也能获得一部分异步带来的好处。
原文链接 译者:小村长
最近两个项目中用到了RocketMQ消息中间件,每次都是在网上找几个Demo,而没有去看它的官方文档。年前面试某大型互联网企业。RocketMQ多有提及。今借此机会翻译一篇RocketMQ的官方文档。希望能够对大家的工作和学习有所帮助。
由于RocketMQ是互联网企业解耦常用的消息中间件,希望大家在使用的时候也多多思考几个问题:
第一,RocketMQ由几部分组成以及每个组件的作用。
第二,RocketMQ消息怎么保证可靠性以及高可用性。
第三,RocketMQ消息种类以及怎么保证消息有序。
最后,我还是建议有能力的童鞋能够自己去Apache RocketMQ官方看看。 阅读全文