自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(444)
  • 资源 (6)
  • 收藏
  • 关注

原创 为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 ZooKeeper?

站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫妇如果没有被塞尔维亚族热血青年普林西普枪杀会怎样,又如若当年的丘老道没有经过牛家村会怎样?2008 年底,淘宝开启一个叫做“五彩石”的内部重构项目,这个项目后来成为了淘宝服务化、面向分布式走自研之路,走出了互联网中间件体系之始,而淘宝服务注册中心 ConfigServer 于同年诞生。2008 年前后,Yahoo 这个曾经

2020-06-03 11:50:30 308

原创 RocketMQ消息发送原理与实践

RocketMQ消息发送方式RocketMQ支持3种消息发送方式: 同步(sync)、异步(async)、单向(oneway)。同步: 发送者向MQ执行发送消息API时,同步等待,直到消息服务器返回发送结果。异步: 发送者向MQ执行发送消息API时,指定消息发送成功后的回调函数,然后调用消息发送API后,立即返回,消息发送者线程不阻塞,直到运行结束,消息发送成功或失败的回调任务在一个新的线...

2020-02-15 17:40:16 343 2

原创 RocketMQ管理命令说明

1.1. 控制台使用RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker等信息的管理;l 登录控制台:首先进入RocketMQ工程,进入/RocketMQ/bin在该目录下有个mqadmin脚本l 查看帮助:在mqadmin下可以查看有哪些命令 shmqadminl 查看具体命令的使用sh mqa...

2020-02-15 01:35:52 166

原创 Spring Cloud Alibaba Nacos 入门实践

概览阿里巴巴在2018年7月份发布Nacos, Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。并表示在6-8个月完成到生产可用的0.8版本,目前版本是0.9版本。Nacos提供四大功能 服务发现和服务健康检查 Nacos使服务更容易注册自己并通过DNS或HTTP接口发现其他服务。Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请...

2020-02-13 09:20:52 66

原创 Spring-Cloud-Alibaba-Nacos微服务|注册中心+流量|限流

Spring-Cloud-Alibaba-Nacos Demo本项目内容为Spring Cloud Nacos样例GitHub:nacos-cloud Gitee:nacos-cloud 公益调试Nacos:https://nacos.qekang.com账号/密码:nacos 公益调试Sentinel:https://sentinel.qekang.com账号/密码:senti...

2020-02-13 00:32:02 217 1

原创 如何让Nginx也拥有服务发现的能力

背景先来回忆一下,nginx如何配置多个实例的负载均衡,配置如下:upstream serverList { server 172.17.0.111:9999; server 172.17.0.110:9999;} server { location / { proxy_pass http://serverList; }}...

2020-02-13 00:28:32 816

原创 业务中台如何正确开启Nacos配置中心?

介绍    nacos是阿里18年开源的作为配置中心及服务发现的中间件,本文主要讨论其作为配置中心的一些功能及实现。 下图描述了spring cloud config Appollo Nacos三个配置中心的一些特性,个人比较倾向于nacos,因为nacos 部署、使用特别方便,跟spring整个生态无缝结合。nacos架构图:使用    nacos由server client m...

2020-02-12 21:39:19 442

原创 ServiceMesh实践与探索

本文结合过去一年中蚂蚁金服的实践经验,结合蚂蚁金服的 SOFAMesh 产品,帮助大家更深刻的理解 Service Mesh 技术。在开始今天的内容分享之前,我们先来热个身,温习一下去年的内容。去年我是来 QCon 布道的,而布道的核心内容就是告诉大家:Service Mesh 是什么?为了帮忙大家回答,我给出一个提示图片,了解 Service Mesh 的同学对这张图片应该不会陌生。...

2020-02-10 12:36:16 434

原创 微服务体系流量网关Kong简介

前言在微服务架构中,由于系统和服务的细分,导致系统结构变得非常复杂, 为了跨平台,为了统一集中管理api,同时为了不暴露后置服务。甚至有时候需要对请求进行一些安全、负载均衡、限流、熔断、灰度等中间操作,基于此类种种的客观需求一个类似综合前置的系统就产生了,这就是API网关(API Gateway)。API网关作为分散在各个业务系统微服务的API聚合点和统一接入点,外部请求通过访问这个接入点...

2020-02-10 12:29:02 520

原创 服务网格框架初探:Istio、Linkerd和SOFAmesh

导读2018年,Service Mesh在国内大热,有多家公司推出自己的Service Mesh产品和方案。本篇文章结合Service Mesh领域内关注度较高的几种开源方案,从架构层面出发,进行初步解读。服务网格(ServiceMesh)是什么?Willian Morgan——Bouyant CEO给出的ServiceMesh定义:服务网格是一个用于处理服务间通信的基础设施层...

2020-02-10 12:26:51 408

原创 蚂蚁金服分布式中间件开源第三弹: 下一代微服务SOFAMesh

蚂蚁金服自主研发的分布式中间件(Scalable Open Financial Architecture,以下简称 SOFA )在今天推出了第三轮的开源产品:SOFAMesh。和前两轮开源的历经多年沉淀和打磨的成熟产品不同,本轮的开源主角SOFAMesh,将探索一条和以往产品有所不同的开源道路。下面我们就来看看到底有哪些不同吧!开源探索之路SOFAMesh尝试在以下几个方面进行自我突破...

2020-02-10 12:24:27 1091

原创 蚂蚁金服是如何实现经典服务化架构向Service Mesh方向演进的?

前言在过去的一段时间中蚂蚁金服已经开始采用 Service Mesh 来帮助解决一些架构上的问题,并且在 Service Mesh 如何更好地与经典的服务化架构结合上有一定的经验,希望借此分享和大家交流我们这部分的实践。使大家对蚂蚁金服当前的服务化架构有更多了解,并对 Service Mesh 如何解决经典服务化架构中的问题以及蚂蚁金服实际在落地Service Mesh 中的时候的一些设计考虑...

2020-02-08 21:42:52 363

原创 网易严选ServiceMesh实践

背景Service Mesh在严选的探索与实践大致分了以下几个阶段。第一个阶段是探索期(2015年底~2016年4月)网易严选从2015年底开始内部孵化到2016年4月正式面世,这个阶段严选的技术团队规模非常小,差不多10人左右,核心业务采用的是单体架构,同时会依赖少量业务基础服务,如推送服务、文件存储服务、消息中心等等。在这个时期,如果我们将视野扩大到孵化严选的网易邮件事业...

2020-02-08 20:02:37 423

原创 京东千万并发 API 网关实践之路

概述1背景京东作为电商平台,近几年用户、业务持续增长,访问量持续上升,随着这些业务的发展,API网关应运而生。API网关,就是为了解放客户端与服务端而存在的。对于客户端,使开放给客户端的接口标准统一,以降低客户端的接入成本;对于服务端,使服务端无需关注接口暴露在公网面临的问题而着眼于业务的实现,来提升开发效率。在刚刚过去的全民狂欢购物节,API网关如何做才能高效的处理近千万的...

2020-02-04 13:52:27 481

原创 元数据驱动的大数据服务平台

摘要:随着物联网、大数据等IT技术的快速发展, 产生了大量多源异构的数据, 但这些数据往往是各自为政、孤立存在, 数据中蕴藏的知识和价值不能得到有效释放。首先分析了工业大数据的现状和特性, 针对大数据时代的数据应用挑战, 提出元数据驱动的大数据服务平台的体系结构, 利用元数据实现数据标准化管理, 并驱动合适粒度的数据服务, 实现大数据时代的数据自服务平台, 推动数据共享和价值释放。随着物联网、...

2020-01-17 23:34:52 435

原创 阿里服务注册/服务发现/配置中心Nacos选型评估

Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理。Nacos主要提供以下四大功能: 服务发现与服务健康检查 Nacos使服务更容易注册自己并通过DNS或HTTP接口发现其他服务。Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。 动态配置管理 动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配...

2020-01-16 14:21:34 212

原创 Kubernetes1.16.0集群搭建(二)

一 环境准备在安装之前,需要先做如下准备。两台CentOS 7.6主机如下:Kubernetes支持在物理服务器或虚拟机中运行,本次使用虚拟机准备测试环境,硬件配置信息如表所示:IP地址 节点角色 CPU Memory Hostname 磁盘 192.168.237.144 master >=2c >=2G mast...

2019-09-22 14:44:35 455

原创 Kubernetes1.16.0集群搭建(一)

一 Kubernetes简介 Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。K8S集群中有管理节点与工作节点两种类型。管理节点主要负责K8S集群管理,集群中各节点间的信息交互、任务调度,还负责容器、Pod、NameSpaces、PV等生命周期的管理。工作节点主要为容器和Pod提供计算资源,Pod及容器全部运行在工作节...

2019-09-21 22:40:32 708

原创 SpringBoot 常用的几种ApplicationListener监听器

使用场景在一些业务场景中,当Serverlet容器初始化完成、重启、关闭等等一系列动作之后,需要处理一些操作,比如一些数据的加载、初始化缓存、特定任务的注册等等。这个时候我们就可以使用Spring提供的ApplicationListener来进行操作。原理ApplicationListener是一个接口,里面只有一个onApplicationEvent方法,方法的参数为ApplicationEvent,ApplicationEvent是个抽象类,顾名思义就是Spring应用的一些Event,Ap

2021-01-22 10:51:27 8

原创 自定义Spring容器防止重复执行的两种实现方式

一 背景ContextRefreshedEvent 事件会在Spring容器初始化完成会触发该事件。我们在实际工作也可以能会监听该事件去做一些事情,但是有时候使用不当也会带来一些问题。1 防止重复触发 主要因为对于web应用会出现父子容器,这样就会触发两次,那么如何避免呢?下面给出一种简单的解决方案。二 解决方案 方案一 @Componentpublic class TestTask implements ApplicationListener&l...

2021-01-22 10:50:17 6

原创 Spring容器初始化完成后执行业务逻辑的三种方式

一 业务背景监听应用容器启动完毕并扫描容器类特定的Dubbo服务,并把相关元数据注册到网关。二 思路 1 在容器启动构造元数据上报到网关,影响应用启动性能; 2 监听容器启动完毕后构造元数据上报到网关,无性能影响;三 监听应用启动完毕的三种方式 方法一、package com.leadsoft.test.executor.processorpublic class InstantiationTracingBeanPos...

2021-01-22 09:49:25 10

原创 Spring getBeansOfType方法 剖析及延展:获取指定类型的JavaBean

该方法用于获取Spring容器中指定类型的所有JavaBean 对象。语法:getBeansOfType(Class type)参数说明:type:指定的类的 Class 示例。返回值:容纳指定类型JavaBean对象的Map集合。示例首先获取容器中 Date 类的所有 JavaBean 名称,然后获取所有 Date 类的 JavaBean 的 Map 集合,再使用 JavaBean 名称分别获取示例对象,最后输出结果,关键代码如下:public static v...

2021-01-22 09:35:55 9

原创 如何阅读大型中间件项目的源码

这是个非常好的问题。从这个问题我们可以感受到,题主强烈的学习愿望,以及想快速提高技能水平的决心。但是反过来,我们需要思考一个问题,为什么我们要阅读大型项目源码?我们的目的是什么?目的不同,就会导致我们阅读的方式也不一样。我不知道题主说的大型项目是现在工作中要维护的项目,还是自己的兴趣爱好,从网上找到的某个开源项目。但是不管是什么类型的项目,我都建议题主先列清楚自己具体想达成一个什么目标,然后再去分解自己的这个目标。比如说,是自己工作中需要的项目,那么其实,就会有很多同事其实对这个项目比较了解了,也...

2021-01-20 16:11:10 20

原创 WebFlux入门极简

前言之前讲述了国产微服务网关Soul底层用了 Webflux 技术,本文将将详细剖析其底层的技术细节。本文知识点架构:一、什么是WebFlux?我们从Spring的官网拉下一点点就可以看到介绍WebFlux的地方了从官网的简介中我们能得出什么样的信息?我们程序员往往根据不同的应用场景选择不同的技术,有的场景适合用于同步阻塞的,有的场景适合用于异步非阻塞的。而Spring 5提供了一整套响应式(非阻塞)的技术栈供我们使用(包括Web控制器...

2021-01-19 22:31:31 40

原创 一文带你深入体验Stream流

上一篇讲解到了Lambda表达式的使用《Lambda表达式基础知识入门》,还没看的同学可以先去阅读一下哈~相信也有不少的同学想要知道:Lambda表达式在工作中哪个场景会用得比较多?跟Lambda搭边的,使用Stream流会比较多一般人第一次看Stream流的代码,都会有点看不懂(它的代码看起来好像就不是写Java一样.),希望这篇文章能带大家入个门一、体验Stream流大家在自学时,大多数会学过一个程序:算出从数组元素的和,当时我们是怎么写的?一般来说是这样的:publicstat.

2021-01-19 22:22:12 29

原创 Lambda表达式基础知识入门

一、Lambda用法之前写Optional这个类的时候,简单说了一下Lambda是怎么用的,这里再跟大家一起回顾一下,Lambda的语法是这样的:语法以Lambda语法创建线程和匿名内部类创建线程的区别(显然代码少了很多!):publicstaticvoidmain(String[]args){//用匿名内部类的方式来创建线程newThread(newRunnable(){@Overridepubli...

2021-01-19 22:17:06 10

原创 微服务网关实践 Spring Cloud Alibaba GateWay

本文主要内容是:为什么要使用网关,整合Gateway,Gateway核心学习:Route,Predicate,Filter,最后使用Gateway聚合微服务请求先总结至此的架构1 网关的价值不使用网关行嘛?各个请求直接打在各个微服务小规模看起来还行,如果微服务很多呢?上百个呢?带来哪些问题呢 认证复杂,要对每个服务中每个接口做认证处理! 客户端难以重构,随着架构迭代,很可能要重新划分微服务,由于拆分是动态进行的,客户端如果直接就与微服务通信的话,重构就很实现咯,.

2021-01-19 13:42:28 22

原创 架构师泣血总结

架构的演进和规划要基于现状循序渐进,千万别想一蹴而就。

2021-01-19 11:23:03 17

原创 Nacos安全漏洞如何修复和升级

今晚最新发布的1.4.1热修复版本已经对于User-Agent绕过安全漏洞的问题及控制台不可用的问题进行了全面的修复。对于漏洞及相关问题我不在赘述,接下来我主要讲如何进行升级加固。一 下载最新的安装包二 解压文件解压文件到安装路径tar -xvf /home/xxx/software/nacos-server-1.4.1.tar.gz -C /home/xxx/xxx/software/nacos三 数据库升级执行cong路径下面...

2021-01-18 19:57:02 76

原创 Nacos 惊爆安全漏洞,可绕过身份验证(终极附修复建议)

背景网上曝出nacos最新版本1.4.1对于User-Agent绕过安全漏洞的serverIdentity key-value修复机制,依然存在绕过问题,在nacos开启了serverIdentity的自定义key-value鉴权后,通过特殊的url构造,依然能绕过限制访问任何http接口。通过查看该功能,需要在application.properties添加配置nacos.core.auth.enable.userAgentAuthWhite:false,才能避免User-Age...

2021-01-18 16:37:44 186

原创 Nacos惊现安全漏洞修复后问题仍旧存在

你好,我是threedr3am,我发现nacos最新版本1.4.1对于User-Agent绕过安全漏洞的serverIdentity key-value修复机制,依然存在绕过问题,在nacos开启了serverIdentity的自定义key-value鉴权后,通过特殊的url构造,依然能绕过限制访问任何http接口。通过查看该功能,需要在application.properties添加配置nacos.core.auth.enable.userAgentAuthWhite:false,才能避免User-A

2021-01-18 11:51:52 3741 7

原创 中台化改造实践--Logback动态配置 Appender (二)

一 背景在程序运行的时候,有的时候需要动态修改 Logger 的级别,增加、删除、修改 Logger 的 Appender, 并通过特定的 appender 采集打印指定的日志并上传到阿里云。二 代码Java代码如下:import java.io.IOException;import java.nio.charset.Charset;import org.slf4j.LoggerFactory;import org.testng.annotations.Test;impo...

2021-01-14 13:59:49 17

原创 中台化改造实践--Spring Boot 2.0 整合日志框架(一)

一、前言在Spring Boot的官方文档中,我们发现关于日志的描述还是比较详细的:https://docs.spring.io/spring-boot/docs/2.0.4.RELEASE/reference/htmlsingle/#boot-features-logging 。Spring Boot使用Commons Logging进行所有内部日志记录,但是默认配置也提供了对常用日志框架的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种日志框架都可以通过

2021-01-14 13:41:43 16

原创 企业中台建设中Maven Pom治理最佳实践

目录前言一、为什么要创建唯一的依赖管理二、我们如何管控基础依赖?三、创建依赖管理项目前言在中台应用建设中我们会遇到很多老应用的架构升级和重构的场景,毫无疑问其中最令人头痛的问题就是版本兼容性的问题,简直是让人深恶痛绝。难道就听之任之放任自流让他在工程中逐渐内卷吗?当然不是了,随着企业中台的不断发展完善,底层的基础设施稳定是决定中台服务质量的关键因素之一,这种影响稳定性和可维护性的不可控因素就需要进行治理,本文就介绍了我们治理的一些实践。一、为什么要创建唯一...

2021-01-12 12:47:25 16

原创 Spring Cloud Alibaba 版本对照详情

版本说明组件版本关系Spring Cloud Alibaba Version Sentinel Version Nacos Version RocketMQ Version Dubbo Version Seata Version 2.2.3.RELEASE or 2.1.3.RELEASE or 2.0.3.RELEASE 1.8.0 1.3.3 4.4.0 2.7.

2021-01-12 10:48:38 58 1

原创 Spring Cloud Alibaba 新一代微服务解决方案

1、Spring Cloud Alibaba 是什么Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。马老师左手双十一,右手阿里开源组件,不仅占据了程序员的购物车,还要攻占大家的开发工具。先说说 Spring Cloud提起微服务,不得不提 Spring Cloud 全家桶系列,SpringCloud 是若干个框架的集合,包括 spring-cloud-config、spring-cl...

2021-01-12 08:56:24 30

原创 Spring Boot,Spring Cloud,Spring Cloud Alibaba 版本选择说明以及兼容性整理归纳

前言本文的核心目的:方便自己以后的查找,预览,参考 帮助那些不知道如何选择版本的朋友进行指引,而不是一味的跟风网上的版本,照抄Spring Boot 版本版本查询:https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies如何选择版本:如果说你的项目只用到 Spring Boot 那么可以直接选择最新的稳定版,如上图的2.1.7.RELEASE,RELEASE 代..

2021-01-11 23:15:04 24

原创 SpringBoot与SpringCloud的版本对应详细版

在实际开发过程中,我们需要详细到一一对应的版本关系:Spring官方对应版本地址: (https://start.spring.io/actuator/info),建议用firefox浏览器打开,你会看见格式化好了json信息:{ "git":{ "branch":"3e2ac1abc157e25c68b39b7e03b1bfc1e23adae9", "commit":{ "id":"3e2ac1a", ...

2021-01-11 23:12:09 66

原创 阿里设计师:B端产品国际版体验设计

阿里巴巴COO UX设计师泽熹:本篇文章,我将以项目的实践为例子,简述设计师在面对未知的商业环境下怎样应用「精益创业」和「设计思维」将设计与商业结合,实践设计转译和推进落地。我将这次设计实践称为「国际化全景设计框架」探索。一、xSpace产品背景介绍CCO-集团客户体验事业群是一个为阿里平台商家、阿里经济体提供售后服务能力的部门,励志于赋能阿里电商生态圈内的售后服务体验,提升消费者对平台的满意度和 NPS指标。xSpace产品是一个帮助客服人员处理消费者咨询、投诉、维权等场景的一站式售后服务工作台。

2021-01-07 17:08:31 133

原创 基于Byte Buddy的探针开发实践

目录前言一、Bety Buddy是什么?1.Bety Buddy 定义2.代码生成的其他的库类3.代码生产代理库类性能指标二、使用步骤1.引入库2.核心代码示例总结前言在研发生产或运维中经常会有系统性能监控或链路追踪的需求,接下来我就详细给大家演示一个基于Byte Buddy库类的探针开发过程一、Bety Buddy是什么? 1.Bety Buddy 定义Byte Buddy 是基于ASM的一种通过领域特定语言(DSL)和注解的针对 J...

2021-01-07 12:29:42 23

Java 多线程测试策略及测试方法探讨.pdf

当前数字化转型时代,大数据处理及人工智能应用陆续应用到日常的生产活动中,涉及到大量的人机协同和人机交互的应用场景,数据发掘及分析为千人万面的辅助支撑越来越离不开多线程。本书详细介绍了多线程知识,是一本非常适合初学者入门学习的教程。

2020-07-09

Mybatis中文指南

mybatis中文操作指南

2017-06-10

Java 设计模式

Java设计模式

2017-06-10

读书雷达图谱

读书雷达图谱

2017-01-10

Track-Management

Conference-Track-Management

2016-12-24

事件日子生成器

事件日志生成器

2016-11-15

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除