springcloud集成sentinel 《微服务》
sentinel本身支持qps(qps:每秒可以进来的请求数,只是进来,不管是否进来之后服务走完。只管进来不管出去。),不会创建线程池,比较轻;而远程调用服务的时候,hystrix调用一个方法就会创建一个线程池,所以hystrix特别重; sentinel本身支持有qps,远程调用不会创建线程池,如果qps大,后面的服务处理不过来,所以就要进行限流降级处理;信号量隔离 hystrix远程调用会创建线程池,并且该线程池是依赖tomcat的,不会比tomcat线程多,即使多了也没意义。线程池隔离
混沌工程平台 ChaosBlade-Box新版重磅发布
故障演练(Chaos)是云原生混沌工程平台,提供了大规模、低成本、影响可控、形式多样化的故障演练服务。Chaos 提供一站式架构分析、故障巡检、故障注入、系统稳态度量等功能,帮助用户增强分布式系统的容错性和可恢复性,帮助系统平稳上云。
单体架构转为微服务架构的12个要素
微服务架构已经很流行了,并且有大量文章描述相对单体架构,微服务架构带来的众多优点。 怎么从单体架构更优雅地转化为微服务架构呢? 有一种被实践证明有效的方法论:The Twelve-Factor App[1]
传统微服务框架如何无缝过渡到服务网格ASM
软件技术的发展历史,从单体的应用,逐渐演进到分布式应用, 特别是微服务理念的兴起,让大规模、高并发、低延迟的分布式应用成为可能。 云原生时代下,微服务框架本身也在不断地进化和迭代演进。 本文主要介绍如何传统微服务框架 SpringCloud 、Dubbo 如何无缝过渡到服务网格ASM
Java Agent踩坑之appendToSystemClassLoaderSearch问题
从Java Agent报错开始,到JVM原理,到glibc线程安全,再到pthread tls,逐步探究Java Agent诡异报错。
微服务还没完全理解,宏服务又要来了?我太难了
当Uber公司某支团队宣布从微服务转向宏服务时,脑子瞬时飘来几个字“某种马”。微服务还没吃透呢,宏服务又来了,听到宏服务这个名字,脑海中好像是听说过,但是完全不了解。于是各种搜索,各种网站的信息翻了一遍。今天的主要目的是介绍为什么要使用宏服务
详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代(二)
详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代(二)
Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(六):客户端基础库 TS 实战
Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(六):客户端基础库 TS 实战
618大促来袭,浅谈如何做好大促备战
2021年天猫双十一落下帷幕,支撑数千亿交易的阿里中间件也全面升级到公有云架构。如何有效利用云产品做好我们的业务大促备战,这是一个大家都比较关心的问题。今天趁着618大促来袭前,谈一谈我们所积累的最佳实践。
Java微服务面试题(2022最新版)
Spring 作为一个轻量级的 Java 开发框架,将面向接口的编程思想贯穿整个 Java 系统应用,因此在 Java 面试中常被提。本次介绍的主要是解析面试过程中如果从源码角度分析常见的问题,
ZooKeeper 在阿里巴巴的服务形态演进
Apache ZooKeeper 在阿里巴巴经历了开源自用、深度优化、反哺社区、开发企业版服务云上客户的演进过程,为了厘清本文脉络,我们对演进过程中提到的关键名词做以下定义。 ● Apache ZooKeeper:提供分布式协调服务如分布式锁、分布式队列等,还可用于注册配置中心的能力。 ● TaoKeepeer:基于 ZooKeeper 做了深度改造,于2008年服务于淘宝。 ● MSE:阿里云的一个面向业界主流开源微服务生态的一站式微服务平台。 ● ZooKeeper 企业服务:MSE 的子产品,提供开源增强的云上服务,分为基础版和专业版两种。
SpringCloud微服务实战——搭建企业级开发框架(三十三):整合Skywalking实现链路追踪
Skywalking是由国内开源爱好者吴晟(原OneAPM工程师)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路,支持非侵入式埋点。是一款基于分布式跟踪的应用程序性能监控系统。另外社区还发展出了一个叫OpenTracing的组织,旨在推进调用链监控的一些规范和标准工作。 1、下载Skywalking,下载地址:https://skywalking.apache.org/downloads/#download-the-latest-versions ,根据需求选择发布的版本,这里我们选择最新发布版v8.4.0 for H2/MySQL/TiDB
SpringCloud微服务实战——搭建企业级开发框架(三十一):自定义MybatisPlus代码生成器实现前后端代码自动生成
理想的情况下,代码生成可以节省很多重复且没有技术含量的工作量,并且代码生成可以按照统一的代码规范和格式来生成代码,给日常的代码开发提供很大的帮助。但是,代码生成也有其局限性,当牵涉到复杂的业务逻辑时,简单的代码生成功能无法解决。 目前市面上的代码生成器层出不穷,大多数的原理是基于已有的代码逻辑模板,按照一定的规则来生成CRUD代码。至于更为复杂的代码生成大家都在人工智能领域探索
SpringCloud微服务实战——搭建企业级开发框架(三十):整合EasyExcel实现数据表格导入导出功能
批量上传数据导入、数据统计分析导出,已经基本是系统必不可缺的一项功能,这里从性能和易用性方面考虑,集成EasyExcel。EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目,在尽可能节约内存的情况下支持读写百M的Excel: Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,
SpringCloud微服务实战——搭建企业级开发框架(二十二):基于MybatisPlus插件TenantLineInnerInterceptor实现多租户功能
多租户技术的基本概念: 多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。 在云计算的加持之下,多租户技术被广为运用于开发云各式服务,不论是IaaS,PaaS还是SaaS,都可以看到多租户技术的影子。
漫谈!如何简单明了通过分解和增量更改将单体迁移到微服务
微服务迁移不是一个小更改。你必须搞清楚它是否真的能解决你的问题,否则你可能会创建一个会杀死你的、乱糟糟的实体。 单体有不同类型,其中一些可能是有效的,足以满足业务需求。单体不是一个应该被杀死的敌人。 微服务关乎独立部署。有一些分解和增量更改模式可以帮助你评估并迁移到微服务架构。 当你开始使用微服务时,你会意识到随之而来的是一系列非常复杂的挑战。所以不应该将微服务作为默认选择。你得仔细考虑它们是否适合你。
SpringCloud微服务实战——搭建企业级开发框架(二十):集成Reids缓存
这章我们来介绍在系统中引入redisson-spring-boot-starter依赖来实现redis缓存管理 1、在GitEgg-Platform中新建gitegg-platform-redis用于管理工程中用到的Redis公共及通用方法。
SpringCloud微服务实战——搭建企业级开发框架(十八):集成Gateway实现微服务路由转发
在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计、开发、测试、部署和管理。这时,各个独立部署单元可以用不同的开发测试团队维护,可以使用不同的编程语言和技术平台进行设计,这就要求必须使用一种语言和平 台无关的服务协议作为各个单元间的通讯方式。
SpringCloud微服务实战——搭建企业级开发框架(十三):OpenFeign+Ribbon实现高可用重试机制
Spring Cloud OpenFeign 默认是使用Ribbon实现负载均衡和重试机制的,虽然Feign有自己的重试机制,但该功能在Spring Cloud OpenFeign基本用不上,除非有特定的业务需求,则可以实现自己的Retryer,然后在全局注入或者针对特定的客户端使用特定的Retryer。 在SpringCloud体系项目中,引入的重试机制保证了高可用的同时,也会带来一些其它的问题,如幂等操作或一些没必要的重试,下面我们实际操作来测试Spring Cloud架构中的重试机制。
SpringCloud微服务实战——搭建企业级开发框架(九):使用Nacos发现、配置和管理微服务
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos部署请参考Nacos安装指南:https://www.jianshu.com/p/2e065c15d730
面试官:微服务下数据一致性的有几种实现方式,分别说一下
本人最近学习了一下微服务下数据一致性的特点,总结了下目前的保障微服务下数据一致性的几种实现方式如下,以备后查。此篇文章旨在给大家一个基于微服务的数据一致性实现的大概介绍,并未深入展开,具体的实现方式本人也在继续学习中,如有错误,欢迎大家拍砖。 传统应用的事务管理 本地事务 在介绍微服务下的数据一致性之前,先简单地介绍一下事务的背景。传统单机应用使用一个RDBMS作为数据源。应用开启事务,进行CRUD,提交或回滚事务,统统发生在本地事务中,由资源管理器(RM)直接提供事务支持。数据的一致性在一个本地事务中得到保证。
SpringCloud 微服务实战笔记
这是很早以前在我的博客上写的关于 SpringCloud 的一些实战笔记,现在我把这些实战笔记集合起来贴到这里,可能会对一些刚刚接触 SpringCloud 微服务的小伙伴有帮助。
阿里云微服务引擎 MSE 2022年4月份产品动态
阿里云微服务引擎 MSE 2022 年 4 月产品动态。劳动最快乐,5月优惠不停,MSE 注册配置中心专业版首购享9折优惠,MSE 云原生网关预付费全规格享7折优惠。
CentOS 7.x安装微服务网关Apache APISIX
APISIX是基于云原生的微服务API网关,它是所有业务流量的入口,可以处理传统的南北向流量(server-client),也可以处理服务间的东西向流量(server-server),也可以当做 k8s ingress controller 来使用。
基于SpringCloudGateway实现微服务网关
后端写完所有的微服务之后,最终是要交给前端去调用。我们都知道每个微服务都有各自的端口号,如果前端直接通过IP加端口的方式去调用微服务会很麻烦。如果想对请求增加限制也会变得十分困难。这个时候微服务网关就出现了。
从概念、部署到优化,Kubernetes Ingress 网关的落地实践
随着容器和 Kubernetes 技术的兴起,集群入口流量管理方式逐渐通用化、标准化。Kubernetes 通过 Ingress 资源用来管理外部 HTTP/HTTPS 流量进入集群内部的方式。目前,Ingress 的实现者 - Provider 的发展呈现百花齐放的状态,用户可以根据自身业务场景进行产品选型。为了帮助用户从建好 Ingress 网关到用好 Ingress 网关,本文将分享 Kubernetes 集群内,Ingress 网关从概念到部署的落地实践以及 MSE 云原生网关如何更好地实现 Kubernetes Ingress。
再深一点:如何给女朋友解释什么是微服务?
大家好,我是小羽。最近有很多粉丝私信:羽哥,羽哥!是不是失踪啦?好几个月没更新了!过气博主表示,工作也比较忙,加之自己搬家(没有叫货拉拉,懂的都懂,手动狗头)的原因,更文就落下了。现在终于...
企业深入使用微服务后会面临哪些问题?云原生全链路灰度给了新思路
如何落地可灰度、可观测、可回滚的安全生产三板斧能力,满足业务高速发展情况下快速迭代和小心验证的诉求,是企业在微服务化深入过程中必须要面对的问题。在云原生流行的当下,这个问题又有了一些新的思路与解法。