consensus协议,有paxos、raft、pacificA,应用最普遍的有paxos。由于paxos难以理解、实现困难,例如日志空洞(leader宕机时,当前leader在上一任leader的任期内可能错过了一些日志的同步, 而这些日志在其他机器上形成多了多数派. 由于logID连续递增, 被错过的日志就成了连续logID连续递增序列中的”空洞”, 需要通过重确认来补全这些”空洞”位置的日志。)的处理等非常复杂,诞生了raft,逐渐替代paxos普遍应用到分布式系统中,例如mongodb、kafka等。 raft 一致性协议,一般是基于replicated state machine,基于这个理论:所有节点处理相同顺序相同内容的指令,结果就会一致。一般是以log的方式实现,将client请求append到log中,并同步给各节点,对raft而言做了简化,只有leader才执行读写,日志只会从leader流向follower,follower只参与选主,平时只做replicate。 consensus解决的实际上是3个问题:选主、log复制、safety(never returning an incorrect result) under all non-Byzantine conditions, including network delays, partitions, and packet loss, duplication, and reordering.)。 client请求只要大多数执行成功即返回成功。只要the majority of servers are operational and can communicate with each other and with clients,这个分布式系统就是稳定的。 Raft只有两类rpc,选举与append log,并约定一定的规则。见如下两图:注意约定的规则,在图中也有说明。 以下是选主rpc 以下是append log rpc 以下是各节点选主状态转换图 初始时,大家都是follower。leader通过定期heartbeat告诉follower自己是主。如果heartbeat间隔大于elect timeout,follower认为没有leader,就会发起选主。 任期term随时间递增,发起elect,会生成新的term,发给rpc给其他所有server,变成candidate. 万一同时有多个candidate多个term怎么办?重试 + […]
近期java之父一直在让大家逐步放弃java 8,转到其他LTS版本上,例如java11或java17,是有道理的。关于java各版本的维护停止时间,详见文末。 通过对线上服务的ab测试,发现java11的zgc在接口响应时间上,优于g1。tp99及平均响应时间都达到30%的提升。 zgc是银弹,适配所有服务吗? 当然不是,zgc适用于低延迟场景,对吞吐量优先的场景,ZGC可能并不适合。zgc属于当代垃圾收集,每次处理的对象更多,更耗cpu。通过在代码中加入读屏障,需要耗费额外的计算资源。所以对hadoop、kafka等数据服务,不推荐使用zgc。 更多关于zgc的实现细节,请参考: https://tech.meituan.com/2020/08/06/new-zgc-practice-in-meituan.html https://wiki.openjdk.java.net/display/zgc/Main java各版本停止维护时间: https://endoflife.date/java
1. 三教:儒教、道教、佛教。 2. 九流:儒家、道家、墨家、法家、名家、杂家、农家、纵横家、阴阳家。 3. 三皇:伏羲、神农、黄帝。另有燧人、伏羲、神农;伏羲、女娲、神农等说法。 4. 五帝:少昊、颛顼、帝喾、尧、舜。另有黄帝、颛顼、帝喾、尧、舜;太昊、炎帝、黄帝、少昊、颛顼等说法。 5. 五行:金、木、水、火、土。 6. 五金:金、银、铜、铁、锡。 7. 八卦:乾(天)、坤(地)、震(雷)、巽(风)、坎(水)、离(火)、艮(山)、兑(泽)。 8. 汉字六书:象形、指事、形声、会意、转注、假借。 9. 书法九势:落笔、转笔、藏锋、藏头、护尾、疾势、掠笔、涩势、横鳞竖勒。 10. 竹林七贤:嵇康、刘伶、阮籍、山涛、阮咸、向秀、王戎。 11. 岁寒三友:松、竹、梅。 12. 花中四君子:梅、兰、竹、菊。 13. 文人四友:琴、棋、书、画。 14. 文房四宝:笔、墨、纸、砚。 15. 中国古代四大民间传说:《牛郎织女》《孟姜女哭长城》《梁山伯与祝英台》和《白蛇传》。 16. 中国四大文化遗产:《明清档案》《殷墟甲骨》《居延汉简》《敦煌经卷》。 17. 中国四大古典戏曲:孔尚任《桃花扇》、王实甫《西厢记》、汤显祖《牡丹亭》、洪升《长生殿》。 18. 七大艺术:文学、音乐、舞蹈、戏剧、绘画、建筑、雕塑。另一种说法为绘画、音乐、雕塑、戏剧、文学、建筑、电影。 19. 中国四大名瓷窑:河北磁州窑、浙江的龙泉窑、江西的景德镇窑、福建的德化窑。 20. 京剧四大名旦:梅兰芳、程砚秋、尚小云、荀慧生。 21. 九属:九代直系亲属,即玄孙、曾孙、孙、子、身、父、祖父、曾祖父、高祖父。 22. 五谷:稻、黍、稷、麦、豆。 23. 中国八大菜系:鲁菜、川菜、粤菜、苏菜、浙菜、闽菜、湘菜、徽菜。 24. 中国四大名绣:苏绣、湘绣、粤绣、蜀绣。 25. 中国四大名扇:檀香扇(江苏)、火画扇(广东)、竹丝扇(四川)、绫绢扇(浙江)。 26. 中国四大名花:河南洛阳的牡丹、浙江杭州的菊花、云南昆明的山茶、福建漳州的水仙。 27. 中国十大名茶:西湖龙井(杭州)、碧螺春(江苏)、信阳毛尖(信阳)、君山银针(岳阳)、六安瓜片(安徽)、黄山毛峰(安徽)、祁门红茶(安徽)、都匀毛尖(贵州)、铁观音(福建安溪)、武夷岩茶(福建崇安)。
Nginx rewrite not work when it comes to vue. 前两日有一个需求,将所有uri前缀是/con的请求做转发。于是在nginx配了rewrite permanent,例如以下: reload之后,发现不生效,还是之前的跳转情况,自动跳转入登陆页。 尝试修改了多次,依然不见效。 F12查看,网络请求状态码没有变成301。改成return 403后,依然如此。 关键点来了,打开nginx accesslog查看,跳转时并没有请求nginx。 这时才想起来vue自身的routing。vue做为单页面前端,在第一次进入页面时,加载了核心组件,包括routing,之后的页面路由由vue自己控制。 验证如下,在服务器上直接curl请求/con,发现能够正常返回301或403。 所以,对于vue的项目,需要做url转发时,需要编码在vue工程内实现,示例如下:
转载自:https://luminousmen.com/post/management-is-not-a-promotion Hey! How’s it going? I’m gonna whine a little here. Can I sit down? You learn, you grow up the career ladder: junior, middle, senior, in some companies — principal, architect. A higher level shows your technical background as well as a certain breadth of knowledge and, of course, soft skills. But then what? […]