springcloud
文章平均质量分 93
在编攻城狮
在编攻城狮
展开
-
变更通知在开源SpringBoot/SpringCloud微服务中的最佳实践
1.从数据变化讲起,对比分析了各种数据交互方式,重点突出了变更通知的各种开源消息中间件;2.在微服务架构中,需要业务场景来分析,一般要从已有的业务架构中选取;如果有Redis,建议优选Redis;3.Kafka/RocketMQ/RabbitMQ/ActiveMQ则非常适合可靠性高、消息量大的订阅通知场景;4.如果是SpringCloud架构,则建议基于注册中心来选取配置中心,如:Apollo/SpringCloud-Config/Nacos;原创 2023-08-18 10:08:35 · 1019 阅读 · 0 评论 -
限流在不同场景的最佳实践
网上的很多资料,要么在介绍限流算法、要么就在讲限流实现;要么只关注开源的Sentinel是怎么做限流的,要么只关注业务逻辑中的redis限流是怎么做的……很少有人把各种限流的业务场景讲清楚;前面介绍了熔断降级和限流的开源实践,里面加了太多开源代码的前置条件,阅读起来可能不那么顺畅,现在想抛开开源框架,单独讲讲限流在不同场景的最佳实践。原创 2023-08-10 20:28:15 · 340 阅读 · 0 评论 -
从单体到SpringBoot/SpringCloud微服务架构无感升级的最佳实践
服务的兼容无感升级是非常常见的现实诉求,因为大多情况下,都是先有了系统,并且在持续迭代中,架构严重腐化,无以为继,不得不升;大多公司的业务都具有相似性,可以采用泛型+业务抽象的方式,把大部分通用能力、公共业务流程给固化下来,可以提升编码质量,同时减少业务开发工作量;上述沉淀的代码架构图中,其组件部分基本上是和业务无关的,有较强的通用性;其微服务部分的架构设计,重点考虑了业务安全和高性能,如:鉴权和认证分离、数据读写分离、缓存及刷新机制等,还考虑了系统后续的升级改造,尽量不把自己绑死在某个中间件上;原创 2023-07-09 23:53:23 · 1003 阅读 · 0 评论 -
异常处理在开源SpringBoot/SpringCloud微服务框架的最佳实践
开源微服务框架基本上涉及到了SpringCloud的大部分技术栈,通过对SpringBoot参数校验异常、Sentinel 3种场景的熔断降级和限流异常、Redis限流异常、Spring-Authorization-Server过滤器认证异常、SpringCloud-Gateway过滤器校验异常,以及SpringBoot全局异常、Spring-Authorization-Server全局异常、SpringCloud-Gateway全局异常的分析和最佳实践,也可以帮助大家站在更高的位置,更好更全面的思考问题。原创 2023-07-06 22:25:18 · 1181 阅读 · 1 评论 -
熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践
1.本文从0开始讲解什么是熔断降级与限流,也逐步分析了怎么去做的方法论,介绍了各种场景下的使用,而且还高效优雅地实现落地,内容非常全面;2.对熔断降级和限流Hystrix/Resilience4j/Sentinel/Redis/Guava做了技术选型和业务选型对比,Sentinel做非功能的熔断降级与限流,redis做业务客户和渠道的多维度限流;3.详细介绍了网关和业务服务的熔断限流的实现与验证,还重点介绍了业务服务的客户限流和渠道限流设计、实现与验证;原创 2023-07-02 08:51:54 · 1764 阅读 · 0 评论 -
Java图片压缩/加密处理实践
1.结合多年的金融场景项目经验,讲解了图片加密、图片压缩、图片转换的业务处理过程;2.重点讲解了基于coobird:thumbnailator的图片压缩实现逻辑,非常实用和高效;原创 2023-06-26 18:53:14 · 1561 阅读 · 0 评论 -
Java二进制及中文转码和校验
1.结合多年的项目经验,从Java基本数据类型char/byte讲起,介绍了char、二进制之间的关系,尤其是二进制和十六进制、二进制和Base64之间的转换;2.介绍了文件魔数和协议魔数,并提供了相关实现和比较时的注意事项;3.介绍了UTF-8对应的unicode关系;在GB18030-2022国标实行前,重点讲解了中文转换的实现及验证逻辑、中文字符乃至中文名字校验的实现及验证过程;原创 2023-06-23 21:45:53 · 1318 阅读 · 0 评论 -
OAuth2在开源SpringBoot/SpringCloud微服务框架的最佳实践
1.结合多年项目经验,介绍了Java开源微服务解决方案的OAuth2服务的权限分离设计思路及实现;2.JwtToken是权限分离的非常好的载体,重点阐述了如何对spring-authorization-server/spring-security-oauth2-authorization-server框架做扩展,目的是实现基于接口/web页面账号密码认证的统一JwtToken和刷新JwtToken,既可以用作接口鉴权,又可以达成会话管理的效果,这样开源的认证服务就可以通用于各种业务场景,减少代码开发的工作原创 2023-06-20 09:46:56 · 1616 阅读 · 6 评论 -
链路追踪在开源SpringBoot/SpringCloud微服务框架的最简实践
1.对比了当下主流的链路追踪技术,系统介绍了本开源微服务应用链路追踪技术zipkin的解决方案;2.灵活运用了SpringCloud-seluth框架,通过Netty/Tomcat扩展点解决了Access Log带上TraceId,并通过MDC技术技术丰富了特殊场景下的处理逻辑;3.通过切面,解决了SpringCloud-Gateway 过滤器间链路ID丢失的问题;原创 2023-06-16 21:30:52 · 3466 阅读 · 1 评论 -
加解密在开源SpringBoot/SpringCloud微服务框架的最佳实践
1.结合多年项目经验,介绍了开源加解密算法在开源SpringBoot/SpringCloud接口微服务解决方案中的最佳实践;2.模拟实现了加密机,使用加密机加密Jasypt,Jasypt加密加密器,加密器对业务接口进行加密,同时也考虑并支持了缺失部分链路的情况;3.讲解了加密机数据加密、加密器针对不同用户采用不同秘钥的应用场景及实现,前置网关应该关注安全,业务模块应该关注业务;4.支持商密和三级等保,既确保了安全,又把性能影响降到最低,而且是仅通过注解和配置开箱即用;原创 2023-06-15 08:58:42 · 2607 阅读 · 22 评论 -
Json在开源SpringBoot/SpringCloud微服务框架中的最佳实践
1.本文结合实际项目经验,介绍了各种真实业务场景,并通过springboot框架进行扩展,并全部开源;2.在springboot-web/springboot-webflux中优雅地完成了Json的接口驼峰转换、接口脱敏、日志脱敏等框架设计和代码实现;3.通过案例介绍,使阅读的朋友们不仅可以了解实现原理及过程,还可以借助本代码框架,仅通过配置就可以达成商业应用。原创 2023-06-12 08:46:02 · 1577 阅读 · 0 评论 -
Java开源接口微服务代码框架
在工作的过程中,总结了一套相对来说比较通用的架构设计思路、一套通用代码框架,该框架经过了团队的不断实践迭代,并逐步形成了一个不错的微服务解决方案。当然这主要是偏向特定领域的微服务解决方案,不可能通用于所有业务场景;本方案的特点是非常关注业务安全和业务的可扩展性;原创 2023-06-05 00:49:10 · 1212 阅读 · 0 评论 -
Docker学习(for MacOS)
为了彻底打通微服务各个环节,需要了解并掌握微服务容器化的整个过程。本篇文章从docker环境构建到成功运行应用,分别从最原始到模板方式部署3种方式讲了下操作流程及命令,可以进一步加深理解。另外也补充了下,Mac网络的不同设置,纠正了下前面博客中的一些小错误。原创 2023-04-02 12:02:43 · 363 阅读 · 0 评论 -
resilience4j使用指南
通过自定义的降级方法去执行try {resilience4j服务降级熔断是一套较完整的方法,适用于SpringWebFlux场景(如:SpringCloud-Gateway)和SpringMvc场景;在SpringCloud-Gateway的使用过程中异常简洁,如果再加上nacos的配置能力,则随时可以在路由中更改服务降级配置;服务降级不限于Rest请求,基本上任意的方法上都可以做服务降级;原创 2023-03-30 16:15:44 · 2740 阅读 · 0 评论 -
Nacos-Server最新版替换Postgres指导
基于2023.03最新的nacos 2.2.1稳定版替换mysql为postgres数据库原创 2023-03-26 17:35:40 · 1007 阅读 · 0 评论