Dubbo

ChaosBlade x SkyWalking 微服务高可用实践

…衆ロ難τιáo~ 提交于 2020-12-11 22:35:15
来源| 阿里巴巴云原生公众号 前言 在分布式系统架构下,服务组件繁多且服务间的依赖错综复杂,很难评估单个故障对整个系统的影响,而且请求链路长,如果监控告警、日志记录等基础服务不完善会造成故障响应、故障定位问题难,所以如何构建一个高可用的分布式系统面临着很大挑战。混沌工程就此产生,在可控范围或环境下通过对系统注入故障,观察系统行为并发现系统缺陷,以建立对分布式系统因意外条件引发混乱的能力和信心,持续提升系统的稳定性和高可用能力。 混沌工程的实施流程是制订混沌实验计划、定义稳态指标,做出系统容错行为假设,然后执行混沌实验,检查系统稳态指标等。也因此混沌实验整个过程需要可靠的、易于使用且场景丰富的混沌实验工具注入故障以及完整的分布式链路追踪和系统监控工具,以便触发应急响应预警方案与快速地进行故障定位,并观察整个过程系统的各项数据指标等。本篇文章我们介绍混沌实验工具(ChaosBlade)和 分布式系统监控工具(SkyWalking),并且结合一个的微服务案例分享一下 ChaosBlade 和 SkyWalking 微服务高可用实践。 工具介绍 1. ChaosBlade ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,并且在企业上云或往云原生系统迁移过程中业务连续性保障,特点是操作简洁、无侵入

如何通过 Serverless 技术降低微服务应用资源成本?

南笙酒味 提交于 2020-12-11 22:34:57
来源 | Serverless 公众号 前言 在大型分布式 IT 架构领域,微服务是一项必不可少的技术。从本质上来讲,微服务是一种架构风格,将一个大型的系统拆分为多个拥有独立生命周期的应用,应用之间采用轻量级的通信机制进行通信。这些应用都是围绕具体业务进行构建,可以独立部署、独立迭代,也可能根据业务负载独立进行水平扩展。 微服务思想以及相关的技术为 IT 架构的发展带来了一系列深刻的变革: 易于开发和维护: 一个应用只会关注一组特定的业务功能,通过服务拆分,能减少应用之间的耦合度,让开发和维护更加简单。 技术栈不受限制: 在微服务架构中,可以结合项目业务及团队的特点,合理的选择技术栈。 加快系统演进速度: 每一个应用都可以独立的进行版本更新,通过灰度发布等技术手段能确保发布过程中整个系统稳定运行。 突破性能瓶颈: 每个应用都能独立的水平伸缩,使系统性能可以根据计算资源的增加而得到线性的扩展。 微服务的挑战 世上没有免费的午餐,微服务技术让 IT 系统变得更敏捷、更健壮、更高性能的同时,也带来了架构复杂度的提升。对于开发者而言,要想更好的驾驭微服务架构,需要解决持续集成、服务发现、应用通信、配置管理、流量防护等一系列难题。幸运的是,针对这些普遍存在的难题,业界涌现了一系列优秀的开源技术组件和工具,让开发者可以更轻松的构建微服务应用。像 Spring Cloud 和 Dubbo

专访涯海:阿里云中间件是如何支撑双11的?

妖精的绣舞 提交于 2020-12-11 17:45:23
以下是本次访谈关键内容的整理。 点击这里可前往“2020阿里双11技术全观”专题查看访谈视频回放 播报员: *各位开发者朋友们,大家好。欢迎收看我们这一期的双11技术播报栏目,我是你们的播报员莫孤。今天我们依然还是双11技术播报的特别篇,特别邀请了阿里云中间件团队的涯海来参加我们这一期的双11技术播报栏目,他是这一次中间件团队的大队长,带领着中间件团队参加了双11的整个项目,在此过程中肯定有非常多好玩的事情,也会有非常多的技术突破给我们分享。那就让我们来热烈欢迎一下涯海来到我们的直播间。 * 涯海: 谢谢莫孤。 播报员: 要不你先跟大家介绍一下自己? 涯海: 我是来自 阿里云智能的中间件团队队长涯海。 我是一个新人,其实我觉得自己比较新,首先这是我今年第一年当中间件的队长,然后我也是一个毕业不到5年的应届生,所以我认为自己的心态还是比较新的。另外我平时比较喜欢打游戏,应该跟大多数男生是差不多的,并且我玩魔兽世界已经十几年了,可以认为是骨灰级的一个玩家,当然是中间AFK过很多次,比如今年做大促就临时的又AFK了。那正好今年做完(大促)之后,我就准备把我的电脑修一修,再次回到我的艾泽拉斯大陆。 我就介绍这么多。 播报员: 好的,刚刚说到电脑的问题,其实我们采访的另外一位大队长智盛,听说他对这一块特别了解,我觉得你们可以接下来去深度的聊一下电脑怎么修复的事情

Java工程师【2020升级版】

家住魔仙堡 提交于 2020-12-11 01:43:05
Java工程师【2020升级版】 下载地址: 百度云盘 本课程全新升级,从0基础到高薪就业,不需脱产学习,冲击互联网高薪岗位 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪! 章节目录: 阶段一:Java零基础入门 26门课 /课程总时长:43小时 /练习题:380 /大作业:4 /考试:3 /教辅资料:121 第1周 环境搭建与语法入门 本周是Java入门的第一步,学习Java语法规则,锻炼编程思维。学会环境搭建,掌握Java程序的执行流程,能够使用运算符和选择与循环结构进行编程。 课程安排: 1、Java基本概念介绍 2、Windows和Mac下开发环境搭建 3、数据类型、变量和常量的使用 4、Java中多种运算符的应用 5、选择结构的执行流程与应用 第2周 Java语法之循环、数组与方法 本周将继续学习语法基础,掌握循环结构、数组和方法的语法规则和应用,最后通过案例对所学知识进行综合应用。学完本周内容可以进行简单的程序逻辑开发。 课程安排: 1、基础语法综合案例——数组移位与统计 2、while、do-while和for三种循环结构的使用 3、嵌套循环的应用 4、break和continue语句的特点及应用 5、如何进行程序的调试,debug的使用 6、一维数组和二维数组的应用 7、Java自定义方法和方法调用 8、大作业——学生成绩管理 第3周

国外一周标星131K+Star的Java后端成长路线笔记,下载量已超百万!

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-10 11:13:13
国外有一个爆火的开发人员学习路线,目前已经收获了 131 k+ star,在所有仓库中排名第 9 。 今天就主要为大家拆解一下“后端学习路线”! 下图是中文翻译版本,基本涵盖了一个后端程序员必须要掌握的一些通用的后端知识,非常直观! 你可以将其作为自己后端学习之路的重要参考。 学习路线配套得学习资料戳这里: 由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 大致内容包括了: Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat等大厂面试题等、等技术栈! 笔记目录展示: 需要获取全部资料的话麻烦一键三连之后,然后加小助理VX:wjj2632646免费获取~ 需要获取全部资料的话麻烦一键三连之后,然后加小助理VX:wjj2632646免费获取~ 需要获取全部资料的话麻烦一键三连之后,然后加小助理VX:wjj2632646免费获取~ 部分内容截图: 需要获取全部资料的话麻烦一键三连之后,然后加小助理VX:wjj2632646免费获取~ 来源: oschina 链接: https://my.oschina.net/u

Spring Cloud Alibaba 简介

随声附和 提交于 2020-12-10 06:23:54
Spring Cloud Alibaba 官方github地址 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 主要功能 服务限流降级:默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。 消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。 分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。。 阿里云对象存储:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。 分布式任务调度:提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务

阿里 双11 同款流控降级组件 Sentinel Go 正式 GA,助力云原生服务稳稳稳

拈花ヽ惹草 提交于 2020-12-09 18:53:50
作者 | 赵奕豪(宿何) Sentinel 开源项目负责人 来源| 阿里巴巴云原生公众号 前言 微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统也面临着巨大的高可用挑战。 在生产环境中大家可能遇到过各种不稳定的情况,比如: 大促时瞬间洪峰流量导致系统超出最大负载,load 飙高,系统崩溃导致用户无法下单。 “黑马”热点商品击穿缓存,DB 被打垮,挤占正常流量。 调用端被不稳定第三方服务拖垮,线程池被占满,调用堆积,导致整个调用链路卡死。 这些不稳定的场景可能会导致严重后果,但很多时候我们又容易忽视这些与流量/依赖相关的高可用防护。大家可能想问:如何预防这些不稳定因素带来的影响?如何针对流量进行高可用的防护?如何保障服务“稳如磐石”?这时候我们就要请出阿里双十一同款的高可用防护中间件 —— Sentinel。在今年刚刚过去的天猫 双11 大促中,Sentinel 完美地保障了阿里成千上万服务 双11 峰值流量的稳定性,同时 Sentinel Go 版本也在近期正式宣布 GA。下面我们来一起了解下 Sentinel Go 的核心场景以及社区在云原生方面的探索。 Sentinel 介绍 Sentinel 是阿里巴巴开源的,面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形

2020年5月中旬面试总结,至今最全的Java程序员高频面试知识点解析笔记!

不羁岁月 提交于 2020-12-09 13:10:56
就目前大环境来看,跳槽成功的难度比往年高很多。总结一下面试的感受:无论一面还是二面,都很考验Java程序员的技术功底!! 最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java程序员高频面试解析及知识点体系笔记.pdf(实际上比预期多花了不少精力),包含 集合,JVM,并发编程、Spring,MyBatis,微服务,Redis,Dubbo,设计模式,数据结构,分布式等!,由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示每部分的目录和答案截图,完整学习文档在文末有免费领取方式! 这份Java面试解析和知识点体系文档内容包括: Java 篇主要包含 Java集合 Hashmap、JVM、GC、锁、多线程、并发、代理、NIO 等。 MySQL数据库主要包含索引、B+ 树、SQL 优化相关。 分布式存储篇主要包含 Redis 架构相关、MongDB 分布式中间件主要包含 Kafka,RabbitMQ相关面试题 微服务Spring Boot、Spring Cloud、Dubbo 篇。 系统架构设计篇,根据几个开放性题目来设计系统。 框架篇主要包含 Spring MyBatis、SpringMVC,netty与RPC 设计模式篇 数据结构与算法篇 相信它会给大家带来很多收获。 Java程序员高频面试解析及知识点体系笔记 JVM篇——JVM知识点体系笔记 JVM篇

小学妹问我:什么是java序列化?

青春壹個敷衍的年華 提交于 2020-12-08 20:00:26
本文主要内容 背景 在Java语言中,程序运行的时候,会产生很多对象,而对象信息也只是在程序运行的时候才在内存中保持其状态,一旦程序停止,内存释放,对象也就不存在了。 怎么能让对象永久的保存下来呢?-------- 对象序列化 。 何为序列化和反序列化? 序列化:对象到IO数据流 反序列化:IO数据流到对象 有哪些使用场景? Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Java对象序列化就能够帮助我们实现该功能。 使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象。必须注意地是,对象序列化保存的是对象的"状态",即它的成员变量。由此可知,对象序列化不会关注类中的静态变量。 除了在持久化对象时会用到对象序列化之外,当使用RMI(远程方法调用),或在网络中传递对象时,都会用到对象序列化。 Java序列化API为处理对象序列化提供了一个标准机制,该API简单易用。 很多框架中都有用到,比如典型的dubbo框架中使用了序列化。 序列化有什么作用? 序列化机制允许将实现序列化的Java对象转换位字节序列

阿里 双11 同款流控降级组件 Sentinel Go 正式 GA,助力云原生服务稳稳稳

假装没事ソ 提交于 2020-12-08 17:12:55
作者 | 赵奕豪(宿何) Sentinel 开源项目负责人 来源| 阿里巴巴云原生公众号 前言 微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统也面临着巨大的高可用挑战。 在生产环境中大家可能遇到过各种不稳定的情况,比如: 大促时瞬间洪峰流量导致系统超出最大负载,load 飙高,系统崩溃导致用户无法下单。 “黑马”热点商品击穿缓存,DB 被打垮,挤占正常流量。 调用端被不稳定第三方服务拖垮,线程池被占满,调用堆积,导致整个调用链路卡死。 这些不稳定的场景可能会导致严重后果,但很多时候我们又容易忽视这些与流量/依赖相关的高可用防护。大家可能想问:如何预防这些不稳定因素带来的影响?如何针对流量进行高可用的防护?如何保障服务“稳如磐石”?这时候我们就要请出阿里双十一同款的高可用防护中间件 —— Sentinel。在今年刚刚过去的天猫 双11 大促中,Sentinel 完美地保障了阿里成千上万服务 双11 峰值流量的稳定性,同时 Sentinel Go 版本也在近期正式宣布 GA。下面我们来一起了解下 Sentinel Go 的核心场景以及社区在云原生方面的探索。 Sentinel 介绍 Sentinel 是阿里巴巴开源的,面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形