Dubbo-kubernetes 基于Informer服务发现优化之路
在 Kubernetes(简称 K8S,一个可移植容器的编排管理工具)体系中,etcd 存储集群的数据信息,kube-apiserver作为统一入口,任何对数据的操作都必须经过 kube-apiserver。因此 Dubbo 想要以 Kubernetes 作为注册中心,必须调用 kube-apiserver 获取服务地址列表,那是以什么样的机制保持信息的可靠性、实时性、顺序性、高性能呢?答案就是基于List/Watch的Informer组件。
Kratos微服务与它的小伙伴系列 - 依赖注入库 - Wire
与其他依赖注入工具不同,比如 Uber 的 Dig 和 Facebook 的 Inject,这 2 个工具都是使用反射实现的依赖注入,而且是运行时注入(runtime dependency injection)。
阿里新一代微服务,内部大佬手抄的笔记+脑图不容错过,全是精华
今天来聊聊Spring Cloud Alibaba,它是Spring Cloud规范的一套实现,为分布式应用程序开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序。Spring Cloud Alibaba中的组件,基本都是由阿里内部中间件转化而来,经历过多次双十一的考验,这也就意味着,Spring Cloud Alibaba有着充足的场景,验证了它对于高并发的抗压能力。
微服务项目:尚融宝(9)(后端接口:统一返回结果)
项目中我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一, 使前端对数据的操作更一致、轻松。 一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数据就可以。但是一般会包含 状态码、返回消息、数据 这几部分内容
【微服务】Nacos初体验
Nacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目。作为微服务中的配置中心和注册中心,发挥着很强的功能。
数据变更白屏化利器-推送轨迹上线
微服务引擎MSE面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
【Spring Cloud】新闻头条微服务项目:自媒体前后端搭建&素材管理(含优化)
主要介绍自媒体端的前后端搭建及素材管理中的上传图片素材、获取素材列表并展示、收藏素材、删除素材,最后对删除素材做了优化,优化了其逻辑的合理性。
【Spring Cloud】新闻头条微服务项目:分布式文件系统MinIO实现文章页面存取
主要介绍了MinIO的功能特点以及为什么要用MinIO,并且还介绍了如何封装MinIO为工具快速进行使用
【Spring Cloud】新闻头条微服务项目:使用JWT+MD5+Salt进行登录验证
主要介绍项目App端登录功能的实现,采用MD5加盐加密保证数据安全,采用全局过滤器实现jwt校验。
阿里云原生助力天河元镜架构升级
微服务引擎MSE面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
中仑网络全站Dubbo2迁移Dubbo3总结
微服务引擎MSE面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
迁移 Nacos 和 ZooKeeper,有了新工具
微服务引擎MSE面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
微服务工程中,基础组件应用
微服务工程的架构是一项复杂和持续的过程,其中涉及到的组件也十分繁杂,本文只是选取Gateway、Nacos、Feign三个基础组件做简单的总结,在其逻辑的理解上需要围绕该组件的核心功能和项目使用的API作为切入点,时常查阅源码和官方文档。
MSE 治理中心重磅升级-流量治理、数据库治理、同 AZ 优先
本次MSE治理中心在限流降级、数据库治理及同AZ优先方面进行了重磅升级,对微服务治理的弹性、依赖中间件的稳定性及流量调度的性能进行全面增强,致力于打造云原生时代的微服务治理平台。
Ingress Nginx 接连披露高危安全漏洞,是否有更好的选择?
微服务引擎MSE面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
DBPack 赋能 python 微服务协调分布式事务
DBPack 的分布式事务致力于实现对用户的业务无入侵,使用时下流行的sidecar架构,主要使用 ETCD Watch 机制来驱动分布式事务提交回滚,它对 HTTP 流量和 MYSQL 流量做了拦截代理,支持 AT 模式(自动补偿 SQL)和 TCC 模式(自动补偿 HTTP 请求)。
线上故障突突突?如何紧急诊断、排查与恢复
稳定性大于一切,因此我们需要有更有效的方式避免线上故障。在发生故障不可避免的假设下,我们需要能够快速修复,减少线上影响。基于以上这些想法,我们提出了1-5-10的快恢目标,所谓 1-5-10 的目标就是是要我们对于线上问题能够做到1分钟发现,5分钟定位,10分钟修复。
摸鱼不如来了解一下--微服务中bootstrap和application之间的联系
SpringBoot中有以下两种配置文件bootstrap (.yml 或者 .properties),application (.yml 或者 .properties)
微服务还没完全理解,宏服务又要来了?我太难了
当Uber公司某支团队宣布从微服务转向宏服务时,脑子瞬时飘来几个字“某种马”。微服务还没吃透呢,宏服务又来了,听到宏服务这个名字,脑海中好像是听说过,但是完全不了解。于是各种搜索,各种网站的信息翻了一遍。今天的主要目的是介绍为什么要使用宏服务
618大促来袭,浅谈如何做好大促备战
2021年天猫双十一落下帷幕,支撑数千亿交易的阿里中间件也全面升级到公有云架构。如何有效利用云产品做好我们的业务大促备战,这是一个大家都比较关心的问题。今天趁着618大促来袭前,谈一谈我们所积累的最佳实践。
NextArch 基金会旗下微服务标准化方案已开源:支持不同开发语言和技术框架
今年,腾讯、字节跳动、快手、BIGO、好未来、七牛云、中国移动、蓝色光标等多达 10 家企业和 go-zero/CloudWeGo/GoFrame/TARS 开源社区的技术专家,在 Linux 下一代架构基金会下成立了微服务技术组 SIG(Special Interest Group),共同探讨微服务治理标准化的解决方案,并向 NextArch 基金会提交了首个落地方案。
ZooKeeper 在阿里巴巴的服务形态演进
Apache ZooKeeper 在阿里巴巴经历了开源自用、深度优化、反哺社区、开发企业版服务云上客户的演进过程,为了厘清本文脉络,我们对演进过程中提到的关键名词做以下定义。 ● Apache ZooKeeper:提供分布式协调服务如分布式锁、分布式队列等,还可用于注册配置中心的能力。 ● TaoKeepeer:基于 ZooKeeper 做了深度改造,于2008年服务于淘宝。 ● MSE:阿里云的一个面向业界主流开源微服务生态的一站式微服务平台。 ● ZooKeeper 企业服务:MSE 的子产品,提供开源增强的云上服务,分为基础版和专业版两种。
SpringCloud微服务实战——搭建企业级开发框架(三十五):SpringCloud + Docker + k8s实现微服务集群打包部署-集群环境部署【下】
• sonarqube默认用户名密码: admin/admin • 卸载命令:docker-compose -f jenkins-compose.yml down -v 六、Jenkins自动打包部署配置 项目部署有多种方式,从最原始的可运行jar包直接部署到JDK环境下运行,到将可运行的jar包放到docker容器中运行,再到现在比较流行的把可运行的jar包和docker放到k8s的pod环境中运行。每一种新的部署方式都是对原有部署方式的改进和优化,这里不着重介绍每种方式的优缺点,只简单说明一下使用Kubernetes 的原因:Kubernetes 主要提供弹性伸缩、服务发现、自我修复,
SpringCloud微服务实战——搭建企业级开发框架(二):环境准备【上】
这里简单说明一下在Windows系统下开发SpringCloud项目所需要的的基本环境,这里只说明开发过程中基础必须的软件,其他扩展功能(Docker,k8s,MinIO,XXL-JOB,EKL,Keepalived,Nginx,RabbitMQ,Kafka等)用到的软件会在具体使用时详细说明,本地开发的环境软件以Windows版本的安装配置为例,数据库等中间件以Linux(CentOS7)的安装配置为例,其他系统Mac/Linux可自行配置
SpringCloud微服务实战——搭建企业级开发框架(十九):Gateway使用knife4j聚合微服务文档
本章介绍Spring Cloud Gateway网关如何集成knife4j,通过网关聚合所有的Swagger微服务文档 1、gitegg-gateway中引入knife4j依赖,如果没有后端代码编写的话,仅仅引入一个swagger的前端ui模块就可以了
SpringCloud微服务实战——搭建企业级开发框架(十五):集成Sentinel高可用流量管理框架【熔断降级】
Sentinel除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积。Sentinel 熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断。
SpringCloud微服务实战——搭建企业级开发框架(五):数据库持久化集成MySql+Druid+MyBatis-Plus
在引入相关数据库持久化相关依赖库之前,我们可以考虑到,当我们因业务开发需要,引入各种各样的依赖库时,Jar包冲突是我们必须面对的一个问题,Spring为了解决这些Jar包的冲突,推出了各种bom,最著名的就是Spring IO Platform bom,其中最核心的三个是:spring-framework-bom、spring-boot-dependencies、platform-bom。我们这里参考Spring管理Jar包的方式,新建一个GitEgg-Platform平台工程,提供各种第三方组件的配置及自定义方法,使用子工程gitegg-platform-bom统一管理GitEgg自定义方法
SpringCloud微服务实战——搭建企业级开发框架(四):集成SpringCloud+SpringBoot
1、在GitEgg工程的根目录,最上级父pom.xml文件中引入需要依赖的库及Maven插件,设置编码方式: 2、修改gitegg-service的pom.xml文件,引入需要的库: 3、在gitegg-service-system工程下新建GitEggSystemApplication主启动类:
SpringCloud微服务实战——搭建企业级开发框架(三):创建Maven工程
在新建工程前,先了解一下什么是敏捷开发“松结对编程”及“L型代码结构”这里有详细的介绍和说明 : 敏捷开发“松结对编程”系列之十一:L型代码结构(团队篇之一) 使用Maven创建项目之前,我们要对工程有一个大概的规划,为了保持类库统一管理,引入的jar包版本不冲突,我们需要用到Maven的BOM功能以及Spring IO platform推出的BOM功能:
从一个微服务应用的成功落地,谈企业需要什么样的微服务治理
随着微服务技术的发展,微服务(MicroServices) 的概念早已深入人心,越来越多的公司开始使⽤微服务架构来开发业务应用。