![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
biuqu项目
文章平均质量分 94
在编攻城狮
在编攻城狮
展开
-
变更通知在开源SpringBoot/SpringCloud微服务中的最佳实践
1.从数据变化讲起,对比分析了各种数据交互方式,重点突出了变更通知的各种开源消息中间件;2.在微服务架构中,需要业务场景来分析,一般要从已有的业务架构中选取;如果有Redis,建议优选Redis;3.Kafka/RocketMQ/RabbitMQ/ActiveMQ则非常适合可靠性高、消息量大的订阅通知场景;4.如果是SpringCloud架构,则建议基于注册中心来选取配置中心,如:Apollo/SpringCloud-Config/Nacos;原创 2023-08-18 10:08:35 · 945 阅读 · 0 评论 -
限流在不同场景的最佳实践
网上的很多资料,要么在介绍限流算法、要么就在讲限流实现;要么只关注开源的Sentinel是怎么做限流的,要么只关注业务逻辑中的redis限流是怎么做的……很少有人把各种限流的业务场景讲清楚;前面介绍了熔断降级和限流的开源实践,里面加了太多开源代码的前置条件,阅读起来可能不那么顺畅,现在想抛开开源框架,单独讲讲限流在不同场景的最佳实践。原创 2023-08-10 20:28:15 · 282 阅读 · 0 评论 -
从单体到SpringBoot/SpringCloud微服务架构无感升级的最佳实践
服务的兼容无感升级是非常常见的现实诉求,因为大多情况下,都是先有了系统,并且在持续迭代中,架构严重腐化,无以为继,不得不升;大多公司的业务都具有相似性,可以采用泛型+业务抽象的方式,把大部分通用能力、公共业务流程给固化下来,可以提升编码质量,同时减少业务开发工作量;上述沉淀的代码架构图中,其组件部分基本上是和业务无关的,有较强的通用性;其微服务部分的架构设计,重点考虑了业务安全和高性能,如:鉴权和认证分离、数据读写分离、缓存及刷新机制等,还考虑了系统后续的升级改造,尽量不把自己绑死在某个中间件上;原创 2023-07-09 23:53:23 · 730 阅读 · 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 · 1121 阅读 · 1 评论 -
熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践
1.本文从0开始讲解什么是熔断降级与限流,也逐步分析了怎么去做的方法论,介绍了各种场景下的使用,而且还高效优雅地实现落地,内容非常全面;2.对熔断降级和限流Hystrix/Resilience4j/Sentinel/Redis/Guava做了技术选型和业务选型对比,Sentinel做非功能的熔断降级与限流,redis做业务客户和渠道的多维度限流;3.详细介绍了网关和业务服务的熔断限流的实现与验证,还重点介绍了业务服务的客户限流和渠道限流设计、实现与验证;原创 2023-07-02 08:51:54 · 1616 阅读 · 0 评论 -
Java图片压缩/加密处理实践
1.结合多年的金融场景项目经验,讲解了图片加密、图片压缩、图片转换的业务处理过程;2.重点讲解了基于coobird:thumbnailator的图片压缩实现逻辑,非常实用和高效;原创 2023-06-26 18:53:14 · 1365 阅读 · 0 评论 -
Java二进制及中文转码和校验
1.结合多年的项目经验,从Java基本数据类型char/byte讲起,介绍了char、二进制之间的关系,尤其是二进制和十六进制、二进制和Base64之间的转换;2.介绍了文件魔数和协议魔数,并提供了相关实现和比较时的注意事项;3.介绍了UTF-8对应的unicode关系;在GB18030-2022国标实行前,重点讲解了中文转换的实现及验证逻辑、中文字符乃至中文名字校验的实现及验证过程;原创 2023-06-23 21:45:53 · 1179 阅读 · 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 · 1501 阅读 · 6 评论 -
链路追踪在开源SpringBoot/SpringCloud微服务框架的最简实践
1.对比了当下主流的链路追踪技术,系统介绍了本开源微服务应用链路追踪技术zipkin的解决方案;2.灵活运用了SpringCloud-seluth框架,通过Netty/Tomcat扩展点解决了Access Log带上TraceId,并通过MDC技术技术丰富了特殊场景下的处理逻辑;3.通过切面,解决了SpringCloud-Gateway 过滤器间链路ID丢失的问题;原创 2023-06-16 21:30:52 · 3378 阅读 · 1 评论 -
加解密在开源SpringBoot/SpringCloud微服务框架的最佳实践
1.结合多年项目经验,介绍了开源加解密算法在开源SpringBoot/SpringCloud接口微服务解决方案中的最佳实践;2.模拟实现了加密机,使用加密机加密Jasypt,Jasypt加密加密器,加密器对业务接口进行加密,同时也考虑并支持了缺失部分链路的情况;3.讲解了加密机数据加密、加密器针对不同用户采用不同秘钥的应用场景及实现,前置网关应该关注安全,业务模块应该关注业务;4.支持商密和三级等保,既确保了安全,又把性能影响降到最低,而且是仅通过注解和配置开箱即用;原创 2023-06-15 08:58:42 · 2421 阅读 · 22 评论 -
Json在开源SpringBoot/SpringCloud微服务框架中的最佳实践
1.本文结合实际项目经验,介绍了各种真实业务场景,并通过springboot框架进行扩展,并全部开源;2.在springboot-web/springboot-webflux中优雅地完成了Json的接口驼峰转换、接口脱敏、日志脱敏等框架设计和代码实现;3.通过案例介绍,使阅读的朋友们不仅可以了解实现原理及过程,还可以借助本代码框架,仅通过配置就可以达成商业应用。原创 2023-06-12 08:46:02 · 1488 阅读 · 0 评论 -
Java开源接口微服务代码框架
在工作的过程中,总结了一套相对来说比较通用的架构设计思路、一套通用代码框架,该框架经过了团队的不断实践迭代,并逐步形成了一个不错的微服务解决方案。当然这主要是偏向特定领域的微服务解决方案,不可能通用于所有业务场景;本方案的特点是非常关注业务安全和业务的可扩展性;原创 2023-06-05 00:49:10 · 1141 阅读 · 0 评论 -
6.Java开源SM2非对称加密算法实现
- 支持RSA(1024/2048/3072/4096)/AES(128/192/256)/SHA-1/SHA-256/SHA-512/SHA-3/MD5/PGP/HMAC-SHA256/HMAC-SHA512等国际通用的加密算法;- 支持SM2/SM3/SM4/HMAC-SM3等国密算法;- 还支持国密和国际加密算法的统一抽象与封装,并封装了国际/国密组合使用的一些实践;- 本加解密组件基于BouncyCastle做了二次封装,并已开源,期待着有一天我们也有自己的国产的更优实现;原创 2023-05-29 09:22:58 · 1803 阅读 · 0 评论 -
5.Java开源RSA非对称加密算法实现
- 支持RSA(1024/2048/3072/4096)/AES(128/192/256)/SHA-1/SHA-256/SHA-512/SHA-3/MD5/PGP/HMAC-SHA256/HMAC-SHA512等国际通用的加密算法;- 支持SM2/SM3/SM4/HMAC-SM3等国密算法;- 还支持国密和国际加密算法的统一抽象与封装,并封装了国际/国密组合使用的一些实践;- 本加解密组件基于BouncyCastle做了二次封装,并已开源,期待着有一天我们也有自己的国产的更优实现;原创 2023-05-28 09:33:32 · 886 阅读 · 0 评论 -
4.Java开源RSA/SM2非对称加密算法对比介绍
- 支持RSA(1024/2048/3072/4096)/AES(128/192/256)/SHA-1/SHA-256/SHA-512/SHA-3/MD5/PGP/HMAC-SHA256/HMAC-SHA512等国际通用的加密算法;- 支持SM2/SM3/SM4/HMAC-SM3等国密算法;- 还支持国密和国际加密算法的统一抽象与封装,并封装了国际/国密组合使用的一些实践;- 本加解密组件基于BouncyCastle做了二次封装,并已开源,期待着有一天我们也有自己的国产的更优实现原创 2023-05-26 21:04:23 · 2236 阅读 · 0 评论 -
3.Java开源AES/SM4/3DES对称加密算法的验证说明
1.基于Java的BouncyCastle开源库做了二次封装,已开源。支持AES(256/192/128)/SM4/3DES加密算法;2.支持上述秘钥长度与ECB/CBC/CTR/CFB工作模式以及NoPadding/PKCS5Padding填充算法的组合验证;原创 2023-05-22 21:39:40 · 773 阅读 · 0 评论 -
2.Java开源AES/SM4/3DES对称加密算法介绍及其实现
1.支持AES(256/192/128)/SM4/3DES对称加密算法,并提供统一抽象设计;2.对称加密算法支持ECB/CBC/CTR/CFB工作模式,并支持与填充模式NoPadding/PKCS5Padding的随机组合;原创 2023-05-22 19:45:28 · 1328 阅读 · 0 评论 -
1.Java开源RSA/AES/SHA1/PGP/SM2/SM3/SM4加密算法介绍
- 支持RSA(1024/2048/3072/4096)/AES(128/192/256)/SHA-1/SHA-256/SHA-512/SHA-3/MD5/PGP/HMAC-SHA256/HMAC-SHA512等国际通用的加密算法;- 支持SM2/SM3/SM4/HMAC-SM3等国密算法;- 还支持国密和国际加密算法的统一抽象与封装,并封装了国际/国密组合使用的一些实践;- 本加解密组件基于BouncyCastle做了二次封装,并已开源bq-encryptor,期待着有一天我们也有自己的国产的更优实现原创 2023-05-22 08:18:55 · 1356 阅读 · 0 评论 -
Nacos-Server最新版替换Postgres指导
基于2023.03最新的nacos 2.2.1稳定版替换mysql为postgres数据库原创 2023-03-26 17:35:40 · 866 阅读 · 0 评论