
微服务技术栈
文章平均质量分 80
天秤座的架构师
非著名架构师
展开
-
Nacos 服务注册与发现原理分析
Nacos 另一个非常重要的特性就是服务注册与发现,说到服务的注册与发现相信大家应该都不陌生,在微服务盛行的今天,服务是非常重要的,而在 Nacos 中服务更被称为他的一等公民。Nacos 支持几乎所有主流类型的 “服务” 的发现、配置和管理。了解过 Dubbo 的同学,应该对 Dubbo 的架构非常熟悉,最经典的一张架构图如下所示:图中的6个步骤的含义解释如下:0、服务容器负责启动,加载,运行服务提供者。1、服务提供者在启动时,向注册中心注册自己提供的服务。2、服务消费..原创 2021-03-04 09:27:03 · 26494 阅读 · 3 评论 -
阿里资深架构师推荐--如何防止重复提交操作?
思路: 1.以用户token+请求接口作为键,请求接口系统时间作为值 2.通过注解+aop实现对加入注解的接口进行拦截 3.首次请求将建+值存入redis,在次请求时取出时间,与设定的默认时间想比较,如果小于,则为重复提交,反之则放过一、创建注解(设置默认时间)二、创建AOP拦截类import com.alibaba.fastjson.JSONObject;import com.orisdom.config.Constants;import com.or...原创 2021-03-04 08:48:38 · 24379 阅读 · 1 评论 -
Dubbo技术选型之 dubbo 协议
dubbo 协议dubbo:// 协议参考手册Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。Transporter: mina, netty, grizzy Serialization: dubbo, hessian2, java, json Dispatcher: all, direct, mes.原创 2021-03-03 15:10:25 · 24621 阅读 · 1 评论 -
架构选型--Dubbo性能测试报告
测试说明本次性能测试,测试了 dubbo 2.0 所有支持的协议在不同大小和数据类型下的表现,并与 dubbo 1.0 进行了对比。 整体性能相比 1.0 有了提升,平均提升 10%,使用 dubbo 2.0 新增的 dubbo 序列化还能获得 10%~50% 的性能提升,详见下面的性能数据。 稳定性测试中由于将底层通信框架从 mina 换成 netty,old 区对象的增长大大减少,50 小时运行,增长不到 200m,无 fullgc。 存在的问题:在 50k 数据的时候 2.0 性能不如 1.原创 2021-03-03 14:58:47 · 24727 阅读 · 1 评论 -
业务能力中台 API 设计指南
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇《理解RESTful架构》,探讨如何理解这个概念。今天,我将介绍RESTful API的设计细节,探讨如何设计一套合理、好用的API。我的主要参考了两篇文章(1,原创 2021-01-27 15:22:19 · 24771 阅读 · 0 评论 -
微服务网关实践 Spring Cloud Alibaba GateWay
本文主要内容是:为什么要使用网关,整合Gateway,Gateway核心学习:Route,Predicate,Filter,最后使用Gateway聚合微服务请求先总结至此的架构1 网关的价值不使用网关行嘛?各个请求直接打在各个微服务小规模看起来还行,如果微服务很多呢?上百个呢?带来哪些问题呢 认证复杂,要对每个服务中每个接口做认证处理! 客户端难以重构,随着架构迭代,很可能要重新划分微服务,由于拆分是动态进行的,客户端如果直接就与微服务通信的话,重构就很实现咯,.原创 2021-01-19 13:42:28 · 24287 阅读 · 0 评论 -
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 · 27626 阅读 · 0 评论 -
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 · 31634 阅读 · 5 评论 -
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 · 31231 阅读 · 11 评论 -
企业中台建设中Maven Pom治理最佳实践
目录前言一、为什么要创建唯一的依赖管理二、我们如何管控基础依赖?三、创建依赖管理项目前言在中台应用建设中我们会遇到很多老应用的架构升级和重构的场景,毫无疑问其中最令人头痛的问题就是版本兼容性的问题,简直是让人深恶痛绝。难道就听之任之放任自流让他在工程中逐渐内卷吗?当然不是了,随着企业中台的不断发展完善,底层的基础设施稳定是决定中台服务质量的关键因素之一,这种影响稳定性和可维护性的不可控因素就需要进行治理,本文就介绍了我们治理的一些实践。一、为什么要创建唯一...原创 2021-01-12 12:47:25 · 23745 阅读 · 0 评论 -
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 · 30299 阅读 · 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 · 23501 阅读 · 0 评论 -
阿里资深架构师推荐:微服务架构27连问面试题配答案
根据 Gartner 的说法,微服务是云开发的新应用平台。微服务是独立部署和管理的,一旦应用实现在容器内,它们与底层操作系统的交互很少。因此,如果你希望把微服务添加到自己的技术栈中,并想要了解与之相关的技能,那么现在正是潜心研究的时候。在本文中,我收集了面试官最常问到的问题。微服务面试题与答案说说微服务架构的优势独立开发:所有微服务都可以根据各自的功能轻松开发独立部署:根据他们所提供的服务,可以在任何应用中单独部署故障隔离:即使应用中的一个服...原创 2020-07-06 09:26:54 · 25178 阅读 · 0 评论 -
Springboot启动原理
在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架。或许从命名上就能看出这个框架的设计初衷:快速的启动Spring应用。因而Spring Boot应用本质上就是一个基于Spring框架的应用,它是Spring对“约定优先于配置”理念的最佳实践产物,它能够帮助开发者更快速高效地构建基于Spring生态圈的应用。那Spring Boot有何魔法?自动配置、起步依赖、Ac...原创 2020-03-27 21:53:47 · 24565 阅读 · 0 评论 -
SpringCloud进阶--快速入门篇(二)
一、SpringBoot简介1.1 原有Spring优缺点分析1.1.1 Spring的优点分析Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(P...原创 2020-03-27 21:34:17 · 24103 阅读 · 0 评论 -
SpringCloud进阶--快速入门篇
什么是 Spring Boot?Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot 是所有基于 Spring Framework 5.0 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。设计目的: 用来简化新 Spring 应用的初始搭建以及开发过程。从最根本上来讲,S...原创 2020-03-27 21:19:22 · 24401 阅读 · 0 评论 -
RocketMQ之Producer异步消息发送源码解读
调用producer的send()方法,并传入msg跟回调callBack实例。DefaultProducer的send方法调用DefaultProducerImpl的send方法,该方法直接调用sendDefaultImpl方法,并传入msg、communicationModel、回调callBack实例、跟默认的timeout。public enum CommunicationMode ...原创 2020-02-15 18:54:12 · 24410 阅读 · 0 评论 -
RocketMQ消息发送原理与实践
RocketMQ消息发送方式RocketMQ支持3种消息发送方式: 同步(sync)、异步(async)、单向(oneway)。同步: 发送者向MQ执行发送消息API时,同步等待,直到消息服务器返回发送结果。异步: 发送者向MQ执行发送消息API时,指定消息发送成功后的回调函数,然后调用消息发送API后,立即返回,消息发送者线程不阻塞,直到运行结束,消息发送成功或失败的回调任务在一个新的线...原创 2020-02-15 17:40:16 · 24418 阅读 · 2 评论 -
RocketMQ管理命令说明
1.1. 控制台使用RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker等信息的管理;l 登录控制台:首先进入RocketMQ工程,进入/RocketMQ/bin在该目录下有个mqadmin脚本l 查看帮助:在mqadmin下可以查看有哪些命令 shmqadminl 查看具体命令的使用sh mqa...原创 2020-02-15 01:35:52 · 27869 阅读 · 0 评论 -
MAC下搭建RocketMQ
1. 从发布版下载并构建点击这里下载4.2.0发行版源代码,也可以点击这里下载二进制发行版。现在执行以下命令来解压4.2.0源版本并构建. 1 2 3 4 $ unzip rocketmq-all-4.2.0-source-release.zip $ cd rocketmq-all-4.2.0/ $ mvn -...原创 2020-02-15 01:27:43 · 25214 阅读 · 0 评论 -
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 · 24273 阅读 · 0 评论 -
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 · 24965 阅读 · 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 · 25614 阅读 · 1 评论 -
京东千万并发 API 网关实践之路
概述1背景京东作为电商平台,近几年用户、业务持续增长,访问量持续上升,随着这些业务的发展,API网关应运而生。API网关,就是为了解放客户端与服务端而存在的。对于客户端,使开放给客户端的接口标准统一,以降低客户端的接入成本;对于服务端,使服务端无需关注接口暴露在公网面临的问题而着眼于业务的实现,来提升开发效率。在刚刚过去的全民狂欢购物节,API网关如何做才能高效的处理近千万的...原创 2020-02-04 13:52:27 · 25709 阅读 · 0 评论 -
RPC框架实现细节-阿里产出
在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用...原创 2019-12-17 10:15:16 · 24674 阅读 · 0 评论 -
企业中台最佳实践--研发中台选型方案(十)
功能 云效 自研 业务中台能力 备注 需求管理 有 需要 是 应用管理 有 需要 否 ...原创 2019-12-16 14:50:28 · 24072 阅读 · 0 评论 -
微服务架构技术栈选型指南
一、前言从 2014 年至今微服务技术生态又发生了巨大变化,容器、云原生、ServiceMesh,Serverless 等新技术新理念层出不穷。在面对这些新技术我们如何运用他们构建我们的架构呢?本文将提供一个实践方式给大家参考和借鉴。二、选型准则对于技术选型,我个人有很多标准,其中下面三项是最重要的:1. 生产级我们选择的技术栈是要解决实际业务问题和上生产抗流量的(选择...转载 2019-11-26 13:17:54 · 702 阅读 · 0 评论 -
消息中间件选型-RocketMQ&&kafka
淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易、订单...原创 2019-10-12 23:47:51 · 24443 阅读 · 0 评论 -
面向不确定性业务的设计方法之浅见
在互联网技术突飞猛进的年代,在电商业务风声水起之时,在软件领域的变革悄然而至的“云计算”时代,"云"成了各大传统行业软件开发商和各大电信运行商争论不休的议题。 (特别说明:本文中所述观点,是个人在面向互联网,面向生态,面向急速交付,面向持续演进的实践基础上对业务不确定性和应对业务不确定性设计方式及服务能力沉淀的总结和领悟。非官方性言论,请勿对号入座,个人之愚见,不喜勿喷!)...原创 2019-04-20 20:24:56 · 24463 阅读 · 0 评论 -
走进微服务架构--微服务架构概述
微服务架构(MicroServices Architecture)是近几年来软件架构领域出现的高频词汇,它是基于传统的SOA架构演进而来的一种架构模。其提倡将传统的单体架构或分布式架构中的单体应用程序和服务划分成更小粒度的服务,这种服务我们称之为微服务(Microservices)。这种服务独立运行在独立的进程中并与其它的进程相隔离,服务于服务之间通常采用基于Http的通信协议构建的RestFul API进行通信,每个微服务都围绕着具体的业务二构建,其能独立的开发,构建,发布和部署到类成产环境和生产环境,而原创 2017-03-12 10:50:17 · 26108 阅读 · 0 评论 -
实施微服务基础框架
微服务(MicroServices)架构是当前互联网业界的一个技术热点,圈里有不少同行朋友当前有计划在各自公司开展微服务化体系建设,他们都有相同的疑问:一个微服务架构有哪些技术关注点(technical concerns)?需要哪些基础框架或组件来支持微服务架构?这些框架或组件该如何选型?笔者之前在两家大型互联网公司参与和主导过大型服务化体系和框架建设,同时在这块也投入了很多时间去学习和研究,有一原创 2016-11-14 22:40:37 · 24461 阅读 · 0 评论 -
Spring Cloud Netflix微服务架构实践
前言系统一旦走向分布式,其复杂程度成倍增长,传统单体应用只考虑业务逻辑的开发方式已经不再适用。正因其复杂性,目前只有业务需求大的大型互联网公司才会(被迫)采用,而且需要投入大量的技术力量来开发基础设施,也造成了小公司“用不起”分布式架构的情况。现在这一局面正在逐渐被打破,因为Netflix开源了其经过实战考验的一系列基础设施构件,加上Spring Cloud的大力支持,开发分布式系统已经不再像原创 2016-11-14 22:32:46 · 25323 阅读 · 0 评论 -
微服务架构实践
微服务架构实践方案原创 2016-11-14 22:26:24 · 24841 阅读 · 0 评论 -
微服务的核心技术栈
本文由PPmoney架构师敖小剑分享:微服务的核心技术,目前可选的开源微服务框架,以及为微服务提供支撑的基础设施。原创 2016-11-14 22:08:34 · 26409 阅读 · 0 评论