Dubbo

“举报”阿里巴巴 Arthas,大幅降低 OOM Trouble shooting 门槛

拈花ヽ惹草 提交于 2020-08-09 21:46:08
作者 | Mason MA 【Arthas 官方社区正在举行征文活动,参加即有奖品拿哦~ 点击投稿 】 Arthas 是个不错的工具,这里要再安利一波,当然整个过程还用到了其他工具,如 MAT、YourKIT(这个是付费的),结合起来使用更加便于发现和解决问题。期间还和开发大佬多次沟通,分别获取了不同的信息。 一键安装并启动 Arthas 方式一:通过 Cloud Toolkit 实现 Arthas 一键远程诊断 Cloud Toolkit 是阿里云发布的免费本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、ACK、ACR 和 小程序云等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传、函数计算 和 MySQL 执行器 来源: oschina 链接: https://my.oschina.net/u/4414119/blog/4309939

在 Google,Java 程序员的一天是如何工作的

落花浮王杯 提交于 2020-08-09 20:15:04
1. 严格遵守“Google Style”,这份“Google Style”会有详细的文档清楚地告诉你如何编码(一开始你会觉得很痛苦,但是以后你会享受它带来的好处) 2. 非常严格的代码审查(同样一开始会觉得很烦人,但以后你会感激它的),它能确保代码稳定的运行。(我从其他公司小伙伴那听闻Google对代码要求让人汗颜) 3. 使用内部定制化的Eclipse IDE(真正的勇士在用VIM) 4. 自定义一切(构建系统、测试系统、java、版本控制、问题追踪系统、OS、等等),很多外面的东西放在Google的规模基本不能用 5. Google Collection(你不需要“new ArrayList()”,取而代之的是“Lists.newArrayList()”或者类似的操作) 6. 巨大的Java文件(我曾经见过一个.java文件超过9万行),通常这是自动生成的代码 7. 忘记标准的序列化相关的东西,欢迎使用protocol buffers,以Google的量级来说这很重要 8. 有各种机会来提升你的技能(技术讲座、代码实验室、专题讨论等等) 9. 大量的会议 10. 可升降的桌子 11. 两个大的显示器 12. 每周五的免费啤酒 13. 附近的小厨房能填充肚子 14. Slides 和 firepoles (就是那个弯弯的东东)能直达自助餐厅,因此你可以吃的更胖 15.

干掉 "ZooKeeper",阿里为什么不用 ZK 做服务发现?

早过忘川 提交于 2020-08-09 17:16:32
   20 大进阶架构专题每日送达   链接:yq.aliyun.com/articles/601745    2020年Java面试题库连载中   !    正文   站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫妇如果没有被塞尔维亚族热血青年普林西普枪杀会怎样,又如若当年的丘老道没有经过牛家村会怎样?   2007年底,淘宝开启一个叫做“五彩石”的内部重构项目,这个项目后来成为了淘宝服务化、面向分布式走自研之路,走出了互联网中间件体系之始,而淘宝服务注册中心ConfigServer于同年诞生。   2008年前后,Yahoo 这个曾经的互联网巨头开始逐渐在公开场合宣讲自己的大数据分布式协调产品 ZooKeeper,这个产品参考了Google 发表的关于Chubby以及 Paxos 的论文。   2010年11月,ZooKeeper从 Apache Hadoop的子项目发展为 Apache的顶级项目,正式宣告 ZooKeeper成为一个工业级的成熟稳定的产品。   2011年,阿里巴巴开源Dubbo,为了更好开源,需要剥离与阿里内部系统的关系,Dubbo 支持了开源的 ZooKeeper 作为其注册中心,后来在国内,在业界诸君的努力实践下

27 道阿里巴巴 Java 常见面试题,你会几道?

耗尽温柔 提交于 2020-08-09 16:33:32
做技术的有一种资历,叫做通过了阿里的面试。 这些阿里Java相关问题,都是之前通过不断优秀人才的铺垫总结的,先自己弄懂了再去阿里面试,不然就是去丢脸,被虐。 希望对大家帮助,祝面试成功,有个更好的职业规划。 1面试常见问题 1、微信红包怎么实现。 2、海量数据分析。 3、测试职位问的线程安全和非线程安全。 4、HTTP2.0、thrift。 5、面试电话沟通可能先让自我介绍。 6、分布式事务一致性。 7、nio的底层实现。 8、jvm基础是必问的,jvm GC原理,JVM怎么回收内存。 9、Java是什么。 10、API接口与SDI接口的区别(API是提供给别人的接口)。 11、dubbo如何一条链接并发多个调用。Dubbo的原理,序列化相关问题。 12、用过哪些中间件。 13、做过工作流引擎没有。 14、以前的工作经历,自己觉得出彩的地方(钉钉) 15、线程池的一些原理,锁的机制升降级(天猫、蚂蚁) 16、从系统层面考虑,分布式从哪些纬度考虑(天猫) 17、Hadoop底层怎么实现(天猫) 18、threadLocal,线程池, hashMap/hashTable/coccurentHashMap等(天猫) 19、秒杀系统的设计(天猫) 20、虚拟机,IO相关知识点(天猫) 21、Linux的命令(天猫) 22、一个整形数组,给定一个数,在数组中找出两个数的和等于这个数

再见!MQ 才不是你这么玩的,你看人家头条这个...

橙三吉。 提交于 2020-08-09 16:29:25
问:你们现在系统里有用消息队列么? 答:有 这是一个面试官给你埋坑的开始!!大量的系统都有引入使用消息队列,也是目前业内比较流行的。还有比如 ZooKeeper、Redis、Dubbo 等等,都是目前比较热门的技术。在这里要小心了!面试官此时想慢慢过渡到你具体的业务场景中去了,关心你3个点:解耦、异步和削峰。 问:为什么要在系统中使用消息队列呀? 答:emmm... 老板做好架构设计、技术选型之后,然后就让我们落地实现 兄弟!千万别脱离了需求分析、架构设计、技术选型和资源评估,只是关心技术的落地实现,往往是没经过深度思考的朋友才干的事儿。只是为了用而用,不知道在此架构设计下为啥会用某些技术。 问:系统中引入了消息队列,会不会有啥隐患? 答:还没遇到过... 这里就惨了!!如果没做过深度技术调研,盲目地直接在系统中引入不熟悉的技术,这就坑爹了,也是挖坑小能手经常干的事儿。比如,可能会遇到这两个问题:第一,链路变长,造成请求响应时间变长,影响用户体验。第二,MQ本身高可用很重要,不然造成整个系统的瘫痪。 问:消息队列的产品有 RabbitMQ、RocketMQ、Kafka 等,你们选用哪个?技术调研后的依据是啥? 答:&%#@*…!/(ㄒoㄒ)/~~ 那,我们还能不能好好搞懂 MQ? 答案是可以的,小编整理了一套技术资料不仅能精准消除技术盲点、累计面试经验,更可以攻克MQ、JVM

Dubbo介绍

99封情书 提交于 2020-08-09 16:05:50
一.开源分布式服务框架 1.Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以Spring框架无缝集成。 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:①面向接口的远程方法调用;②智能容错和负载均衡;③服务自动注册和发现。 2.结构图 ![] 来源: oschina 链接: https://my.oschina.net/u/4514549/blog/4301408

3 月,跳不动了?

↘锁芯ラ 提交于 2020-08-09 15:48:12
不少单位已经开始复工了,跳槽季已经开始。虽说大多数互联网企业,像腾讯、字节跳动等,都已经开通远程面试环节,而且薪资有走高的趋势。但据目前看,面试难度大了许多,甚至有朋友面试后怀疑:自己真的落伍了? 比如,面试高级开发岗位时,面试官不仅考察基础能力,更会重点考察高并发、分布式等架构相关的技术背后的思考逻辑,比如:微服务,负载均衡,Redis,RPC等。(今年 Java 面试到底聚焦在知识点?文末扫码获取) 但这些技术包含了 N 多优化、N 多细节,对于一些 coding 的朋友,由于接触不到一线实战架构设计,想必并不是很了解。 刚好,趁着这段时间,整理了一套 “ 微服务+分布式 ” 的视频干货,讲解很透彻。今天分享给大家。这份资料 尤其适合 以下人群: 1.没有用过微服务技术,只会用传统的 SSM 框架 2.用过 Spring Cloud、Dubbo等技术,但是只限于使用,遇到问题基本无法解决 3.从来没有系统学习微服务、分布式架构,觉得架构设计是遥不可及的 4.对于微服务、分布式技术有所了解,但尚没有设计高可用高并发的实践经历 学完这份视频你将获得哪些收获? 理解当下最火热的微服务架构原理及其开源框架; 触及一线大厂所配备的微服务核心技术内幕知识; 对照自己掌握知识点进行查漏补缺,帮助扫除知识盲区、重构知识体系。 视频围绕“ 如何设计高可用高并发的微服务架构? ”的主题

2020.7.3 | Java进阶架构师30大专题,共600篇优质文章合集!

别等时光非礼了梦想. 提交于 2020-08-09 14:55:53
  大家好,我是师长,今天是2020年7月3日,2020年正式过了一半,感慨的话不必多说,这两个月来,又积累了许多优质的文章,且新增了两三个全新专题,如 2020Java面试题库、JVM调优专题等, 累计达600+。预计下次更新时间是 9月1号 ( 两个月一整理 )。   本篇发表后,也会放在公众号菜单栏的【 左下角 】,大家可以 星标公众号, 经常光顾。      如果最近两个月,文章对你有帮助,那么,请给我人间三大真情: 在看 、 留言 和 转发 一条龙服务,以示鼓励。    Java进阶架构师   师长的公众号专注的是: 底层原理、架构设计、源码阅读、微服务、高并发、高可用、JVM调优、BAT面试专栏等进阶架构专栏 。毫不夸张地说,Java相关的技术栈都一网打尽!    注: 标红 的链接为本次新增更新    零、2020Java面试题库 新专题   面试题库目前暂定八个梯度迭代更新:   第一梯度:计算机组成原理、操作系统原理、网络通信原理、数据结构和算法;   第二梯度:Java SE基础、JavaWeb相关、Java 工具(Maven/git等)、JDK 工具、Java 各版本新特性、JVM 相关如内存模型和、GC 算法、JVM 性能调优、设计模式;   第三梯度:Spring、Spring MVC、Springboot、Spring Cloud、Mybatis

史上最便捷搭建 ZooKeeper 服务器的方法

左心房为你撑大大i 提交于 2020-08-09 14:23:56
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 什么是 ZooKeeper ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。 ZooKeeper 有三种运行模式:单机模式、伪集群模式和集群模式。 单机模式:这种模式一般适用于开发测试环境,一方面我们没有那么多机器资源,另外就是平时的开发调试并不需要极好的稳定性。 集群模式:一个 ZooKeeper 集群通常由一组机器组成,一般 3 台以上就可以组成一个可用的 ZooKeeper 集群了。组成 ZooKeeper 集群的每台机器都会在内存中维护当前的服务器状态,并且每台机器之间都会互相保持通信。 伪集群模式:这是一种特殊的集群模式,即集群的所有服务器都部署在一台机器上。当你手头上有一台比较好的机器,如果作为单机模式进行部署,就会浪费资源,这种情况下,ZooKeeper允许你在一台机器上通过启动不同的端口来启动多个 ZooKeeper 服务实例,以此来以集群的特性来对外服务。

聊聊dubbo-go的metricsFilter

情到浓时终转凉″ 提交于 2020-08-09 13:28:07
序 本文主要研究一下dubbo-go的metricsFilter metricsFilter dubbo-go-v1.4.2/filter/filter_impl/metrics_filter.go const ( metricFilterName = "metrics" ) var ( metricFilterInstance filter.Filter ) // must initialized before using the filter and after loading configuration func init() { extension.SetFilter(metricFilterName, newMetricsFilter) } // metricFilter will calculate the invocation's duration and the report to the reporters // If you want to use this filter to collect the metrics, // Adding this into your configuration file, like: // filter: "metrics" // metrics: // reporter: // - "your reporter" #