Dubbo

Github14k堪称神级的Spring Boot手册,从基础入门到实战进阶

我的梦境 提交于 2021-01-08 16:06:04
一直建议Java程序员必须把springboot搞清楚,现在企业中Springboot太重要了,不管是大互联网公司比如阿里,还是小公司都在用springboot,现在分享一份学习资料希望能帮到大家。 SpringBoot系列从⼊⻔到进阶手册 目录: 因为笔记内容太多,下面只截取部分内容展示。需要获取完整笔记的小伙伴可以 资料获取: 【 点击这里,暗号 开源 】获取~ 内容展示: 快速入门: 开发: 数据访问: ⽇志管理: 监控管理: 整合 Dubbo: Elasticsearch: 监控管理: 资料获取方式 【 点击这里,暗号 开源 】获取~ 来源: oschina 链接: https://my.oschina.net/u/4598595/blog/4885337

字节跳动这么缺人?不卡学历,不卡经验,只要求……

南笙酒味 提交于 2021-01-06 21:19:39
都说程序员工资高、待遇好, 2021 金三银四就要到了, 你的小目标是 30K、40K,还是 16 薪的 20K? 作为一名 Java 开发工程师,当能力可以满足公司业务需求时,拿到超预期的 Offer 并不算难。 然而,提升 Java 核心能力最快、最有效, 短期内升职加薪的方法,到底是什么? 首先,你需要跳出日常工作,接触更有深度、更前沿的顶级项目 。 一个简单的逻辑:大厂之所以能够给到高于行业水准的薪资,正是因为即使是普通开发人员,也要应对很多 复杂的场景 。这些复杂场景和项目,就像“墙外的世界”,没有看过,没有接触过,你就无法进行体系化的学习和建立认知, 技术壁垒自然就出现了。 所以,如果你期望通过个人努力,实现收入增长和职位晋升, 那最好的方式, 一定是多学透几个大厂的真实项目经验。 比如炙手可热的 电商平台系统 ,它包含微服务系统、高并发设计与性能调优,涉及 Spring Boot、Dubbo 等核心组件 的应用,还有秒杀活动用到的 Nginx、Redis、MQ、DB 等, 从底层组件应用,到模块设计一应俱全 ,非常适合深入学习和反复琢磨。 但想要快速吃透繁琐的电商系统并不简单,在自学的过程中,难免会遇到一些困难: 日常工作接触的技术维度偏少,对电商系统缺乏基本的认知与概念,无从学起。而网上的资料零零散散,经常讲解不透彻或技术点已过时,耗费大量精力却没有太多收获。

【Dubbo篇】--Dubbo框架的使用

扶醉桌前 提交于 2021-01-06 04:33:04
一、前述 Dubbo是一种提供高性能,透明化的RPC框架.是阿里开源的一个框架。 官网地址:http://dubbo.io/ 二、架构 组件解释: Provider: 提供者.发布服务的项目. Registry: 注册中心.所有提供者必须去注册中心注册自己所有能发布的服务. Consumer: 消费者.调用服务的项目. Monitor: 监控中心.监控消费者和提供者调用服务的时间及次数.默认每1分钟向监控中心生成一次统计数据.之间调用必须遵守Dubbo支持的协议. Container: 容器.Dubbo依赖于Spring容器. 执行顺序: 0:由Spring容器启动服务. 1 向注册中心注册服务. 2 消费者向注册中心订阅需要调用的服务.在注册中心的服务列表中寻找需要调用的服务.获取到提供者真实地址. 3 注册中心通知消费提供者的真实地址.如果提供者的服务发生变化,注册中心会自动推送信息给消费者. 4 消费者调用提供者的服务. 5 在调用过程中向监控中心发送数据,进行统计调用时间和调用次数. 6 虚线都是异步请求,实线都是同步请求. 三、Dubbo支持的注册中心 1.Zookeeper注册中心 1.1 优点:支持集群. 1.2 缺点:稳定性受Zookeeper影响. 2.Redis注册中心 1.1 优点:基于服务器双写模式.性能高. 1.2 缺点:要求服务器时间必须一致. 3

一条失去where的动态SQL导致的线上故障

泪湿孤枕 提交于 2021-01-05 22:18:33
关注公众号: 后端技术漫谈 ,技术之路不迷路~ 前言 好了,进入今天的正文,今天想跟大家聊聊一次 mybatis 动态 SQL 引发的生产事故。 事情这样的,我们有个订单相关数据库服务,专门负责订单相关的增删改查。这个服务运行了很久,一直都没有问题。 直到某天中午,正想躺下休息一下,就突然接到系统报警,大量订单创建失败。订单服务可以说是核心服务,这个服务不可用,整个流程都会被卡主,交易都将会失败。 马上没了睡意,立刻起来登上生产运维机,查看订单服务的系统日志。 Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED! Thread Name: DubboServerHandler-xxip, Pool Size: 200 (active: 200, core: 200, max: 200, largest: 200), Task: 165633 (completed: 165433), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in 1! at com.alibaba.dubbo.common.threadpool.support

面试官:不会看 Explain执行计划,简历敢写 SQL 优化?

我们两清 提交于 2021-01-05 07:32:50
转自: 程序员内点事 作者: 程序员内点事 昨天中午在食堂,和部门的技术大牛们坐在一桌吃饭,作为一个卑微技术渣仔默默的吃着饭,听大佬们高谈阔论,研究各种高端技术,我TM也想说话可实在插不上嘴。 聊着聊着突然说到他上午面试了一个工作6年的程序员,表情挺复杂,他说:我看他简历写着熟悉 SQL 语句调优,就问了下 Explain 执行计划怎么看?结果这老哥一问三不知,工作6年这么基础的东西都不了解! 感受到了大佬的王之鄙视,回到工位我就开始默默写这个,哎~ 我TM也不太懂 Explain ,老哥你这是针对我啊!哭唧唧~ Explain有什么用 当 Explain 与 SQL 语句一起使用时, MySQL 会显示来自优化器关于SQL执行的信息。也就是说, MySQL 解释了它将如何处理该语句,包括如何连接表以及什么顺序连接表等。 表的加载顺序 sql 的查询类型 可能用到哪些索引,哪些索引又被实际使用 表与表之间的引用关系 一个表中有多少行被优化器查询 ..... Explain有哪些信息 Explain 执行计划包含字段信息如下:分别是 id 、 select_type 、 table 、 partitions 、 type 、 possible_keys 、 key 、 key_len 、 ref 、 rows 、 filtered 、 Extra 12个字段。 下边我们会结合具体的

丁威: 优秀程序员必备技能之如何高效阅读源码(二更)

北慕城南 提交于 2021-01-04 15:22:00
“我能熟练使用这个框架/软件/技术就行了, 为什么要看源码?” “平时不用看源码, 看源码太费时间,还容易忘记,工作中出现问题再针对性地阅读,效率更高。” “为了面试才需要看源码!” 。。。。。。 如果你也有类似的疑问,不妨接着往下看 1、为什么要阅读源码? 1.1 在通用型基础技术中提高技术能力 在 JAVA 领域中包含 JAVA 集合、Java并发(JUC)等, 它们是项目中使用的高频技术,在各种复杂的场景中选用合适的数据结构、线程并发模型,合理控制锁粒度等都能显著提高应用程序的可用性、健壮性,非常容易凸显出自己的技术实力,更容易受到领导的认可,助力职场。 当然通过阅读源码并不是知晓原理的唯一方法,但作为一个名程序员、直面代码,亲自感受代码的魅力或许会显得的更加直接。 1.2 在重点领域打造自己的亮点 我所在公司使用了 Dubbo、RocketMQ,我也有幸参与到这些技术栈的运用与运维,积累了丰富的使用经验,为了突出在这两个领域的优势,我详细阅读了它们的源码,在CSDN和公众号等知识分享平台发布了大量的技术文章,成体系的剖析其实现原理、架构设计理念,理论与实战相结合,让我成为在Dubbo、RocketMQ领域当仁不让的技术专家,团队中的核心骨干。 同时由于文章是成体系的,被出版社相中,邀请出书,《RocketMQ技术内幕》一书应运而生,从而成为我职业技能列表中非常亮眼的名片

一文搞懂注册中心 zookeeper 和 eureka 中的CP和 AP

家住魔仙堡 提交于 2021-01-04 14:10:58
前言 在分布式架构中往往伴随CAP的理论。因为分布式的架构,不再使用传统的单机架构,多机为了提供可靠服务所以需要冗余数据因而会存在分区容忍性P。 冗余数据的同时会在复制数据的同时伴随着可用性A 和强一致性C的问题。是选择停止可用性达到强一致性还是保留可用性选择最终一致性。通常选择后者。 其中 zookeeper 和 eureka分别是注册中心CP AP 的两种的实践。他们都提供服务注册中心的功能。建议使用AP。不强求数据的强一致性,达成数据的最终一致性。 ★ 服务注册中心的数据也就是返回的可用服务节点(ip+端口号) 服务A开了0-9十个服务节点,服务B需要调用服务A,两次查询返回0-8,1-9 不一致的数据。产生的影响就是0 和9 节点的负载不均衡 ” ★ 只要注册中心在 SLA 承诺的时间内(例如 1s 内)将数据收敛到一致状态(即满足最终一致),流量将很快趋于统计学意义上的一致,所以注册中心以最终一致的模型设计在生产实践中完全可以接受。 ” 1 eureka AP eureka 保证了可用性,实现最终一致性。 Eureka各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。而Eureka的客户端在向某个Eureka注册或时如果发现连接失败,则会自动切换至其它节点,只要有一台Eureka还在,就能保证注册服务可用(保证可用性)

一位Team Leader一年的工作年终回顾

戏子无情 提交于 2021-01-02 12:12:13
本文源自小乐同学投稿,针对一年工作做个回顾,由一个程序员变成项目负责人,之间的转变值得体味,是不是有种似曾相识的感觉? 时光荏苒,光阴似箭,不知不觉在技术部渡过了一年的时光。俗话说,总结过去,展望未来,有总结才有进步。回顾2017工作中的点点滴滴,有快乐的时光,有苦逼的加班,也有无助的迷茫,当然也少不了收获。不管怎样,我始终信奉:有付出才有回报。 工作清单 1月至3月,主要是参与A项目的后台开发,涉及资料模块,组织架构模块,报表模块及人脸识别接口验证的开发。 4月至5月,工作调整到A项目风控模块的独立,参与zookeeper+dubbo的部署及调试,抽离模块代码独立部署应用,系统交互通过dubbo调用。 6月至今,负责参与B项目后台、APP、微信等渠道的开发。 项目总结 5月有幸成为B项目的项目负责人和团队一起带领项目往前跑。实话说,我是第一次严格意义上的带项目,内心比较忐忑,当然也很期待。任何事都有第一次,想着既然把活接了,就认真的干。 接下来主要说说B项目项目的大致情况,主要以项目的进度描述各个阶段的状况及对这方面的总结与反思。 第一阶段:第一版本开发 app是原生与H5混合开发模式。第一版需求大家干劲十足加班加点终于6月底如期上线。但上线后app因混合模式问题比较多,所有没有对外发布,只是内部测试使用。紧接着开发第二个版本,开发过程中,公司负责人体验产品

【软件测试教程】阿里开源Dubbo接口如何测试?

拟墨画扇 提交于 2020-12-31 12:17:28
1.Dubbo简介 Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成,随着近几年微服务架构的兴起,因为其理念很契合微服务,在国内有着比较广泛的用户群体。 2. Dubbo特点 特点:高性能、轻量级、开源 面向接口代理的高性能RPC调用 互联网服务发展: ORM(单应用)-MVC(应用分层)-RPC(分布式服务,应用和服务分开)-SOA(面向服务,服务统一管理 3.Dubbo基础架构 节点角色说明: Provider: 暴露服务的服务提供方 (开发人员写的代码、理解为接口) Consumer: 调用远程服务的服务消费方(telnet,jemter插件) Registry: 服务注册与发现的注册中心 实现成本比较低就是zookeeper(一个分布式的,开放源码的分布式应用程序协调服务) 生活中实例:美团外卖是很多商家的注册中心 Monitor: 统计服务的调用次数和调用时间的监控中心 Container: 服务运行容器 4.Dubbo接口测试 dubbo接口测试方法: dubbo接口测试的关键在于搭建消费者,那么搭建消费者有几种方式: Telnet 、Jmeter插件、Python第三库与泛化调用 1.Telnet (打开telnet方法) Win7控制面板 程序和功能

【行业资讯】smart-doc 1.9.8 已经发布,Java Restful API 文档生成工具

时间秒杀一切 提交于 2020-12-29 22:21:47
smart-doc是一款同时支持JAVA REST API和Apache Dubbo RPC接口文档生成的工具,smart-doc在业内率先提出基于java泛型定义推导的理念, 完全基于接口源码来分析生成接口文档,不采用任何注解侵入到业务代码中。你只需要按照javadoc标准编写注释, smart-doc就能帮你生成一个简易明了的Markdown、HTML5文档,甚至可以直接生成Postman collection导入到Postman做api接口调试 smart-doc 1.9.8 已经发布,此版本更新内容包括: New Features 增加对抽象Controller方法的解析。 支持ResponseBodyAdvice通用接口响应包装设置。 忽略对Class对象的解析。 Bug Fixes 修改阿里版本dubbo注解名称解析错误。 修改模拟值生成错误。 修复类同时继承和基类和实现接口中可能出现字段重复的bug。 本文分享自微信公众号 - Laravel技术社区(Laravel360)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/3372402/blog/4708798