03 2019 档案
摘要:问题背景 在实际工作中,我们的开发环境,测试环境,生产环境对应的 Mysql 数据库,Redis 这些信息都不一样,每个环境都有对应的一套配置,在 Spring Boot 中我们通常会编写多个配置文件,也就是每个环境一个配置文件。 比如: application dev.properties app
阅读全文
摘要:Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。 比如我们之前是直接在代码中初始限流的值,接入控制台后可以直接通过控制台进行限流参数的动态配置,非常方便。 Sentinel 控制台最少应该包含如下功能: " 查看机器列表以及健康
阅读全文
摘要:Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装To
阅读全文
摘要:在前面我们对Sentinel做了一个详细的介绍,可以手动的通过Sentinel提供的SphU类来保护资源。这种做法不好的地方在于每个需要限制的地方都得写代码,从 0.1.1 版本开始,Sentinel 提供了 @SentinelResource 注解的方式,非常方便。 要使用注解来保护资源需要引入下
阅读全文
摘要:前言 上篇文章我讲过复杂的限流场景可以通过扩展RedisRateLimiter来实现自己的限流策略。 假设你领导给你安排了一个任务,具体需求如下: 针对具体的接口做限流 不同接口限流的力度可以不同 可以动态调整限流配置,实时生效 如果你接到上面的任务,你会怎么去设计+实现呢? 每个人看待问题的角度不
阅读全文
摘要:系统在生产环境出现问题时,排查问题最好的方式就是查看日志了,日志的记录尽量详细,这样你才能快速定位问题。 如果需要在Zuul中进行详细的日志记录,这两种日志必不可少。 API请求信息 API响应信息 前面有介绍过如何获取请求信息,文章请查看 "《Spring Cloud Zuul过滤器获取请求参数问
阅读全文
摘要:新书购买:单本75折包邮
阅读全文
摘要:前言 重试,我相信大家并不陌生。在我们调用Http接口的时候,总会因为某种原因调用失败,这个时候我们可以通过重试的方式,来重新请求接口。 生活中这样的事例很多,比如打电话,对方正在通话中啊,信号不好啊等等原因,你总会打不通,当你第一次没打通之后,你会打第二次,第三次...第四次就通了。 重试也要注意
阅读全文
摘要:在我《Spring Cloud微服务 全栈技术与案例解析》书中,第18章节分库分表解决方案里有对Sharding JDBC的使用进行详细的讲解。 之前是通过XML方式来配置数据源,读写分离策略,分库分表策略等,之前有朋友也问过我,有没有Spring Boot的方式来配置,既然已经用Spring Bo
阅读全文
摘要:在使用Spring Boot Admin进行监控时,如果被监控的服务没有加context path的话是不会有任何问题的,一旦服务加了context path的配置,监控就会失败。 下图是正常情况的显示: 我们给被监控的服务增加一个context path: 当被监控的服务增加了context pa
阅读全文
摘要:本文是Sharding JDBC采用Spring Boot Starter方式配置第二篇,第一篇是读写分离讲解,请参考: "《Spring Boot中整合Sharding JDBC读写分离示例》" 在我《Spring Cloud微服务 全栈技术与案例解析》书中都是通过XML方式配置。今天给大家演示的
阅读全文
摘要:今天我们来学习下GatewayFilter Factory,中文解释就是过滤器工厂。 官方文档对GatewayFilter Factory的介绍: Route filters allow the modification of the incoming HTTP request or outgoin
阅读全文
摘要:大家都知道,做我们开发这行的,最核心的竞争力就是学习能力。技术一直在变化,框架一直在更新,学还是不学。 不学,你会落伍,学,太累了,根本学不过来。学习只要找对了方法,也没那么累。 最好的学习方式那就是兴趣驱使你去学习,但这种几乎很少,还有一种就是群体学习,就是大家一起学习,有问题一起讨论,这样的方式
阅读全文
摘要:Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求。 网关都是给接口做代理转发的,后端对应的都是REST API,返回数据格式都是JSON。如果不做处理,当发生异常时,
阅读全文
摘要:全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证,IP访问限制等等。 接口定义类:org.springframework.cloud.gateway.filter.GlobalFilter gateway自带的GlobalFilter实现类有很多,
阅读全文
摘要:前言 公司的ES最近需要全部进行升级,目的是方便维护和统一管理。以前的版本不统一,这次准备统一升级到一个固定的版本。 同时还会给ES加上权限控制,虽然都是部署在内网,为了防止误操作,加上权限还是有必要的。 带来的问题就是我这边的程序得改了,目前用的是 "Spring Data Elasticsear
阅读全文
摘要:前言 在 Spring Cloud 体系中,熔断降级我们会使用 Hystrix 框架,限流通常会在 Zuul 中进行处理,Zuul 中没有自带限流的功能,我们可以自己做限流或者集成第三方开源的限流框架。最新一代的网关 Spring Cloud Gateway 则自带了限流的功能。 有没有那么一个框架
阅读全文
摘要:无论是在小程序还是APP中,打开一个页面其实就是创建了一个新的View对象,一层层叠加的。当点击页面的回退按钮就是把当前页面关闭。 这个过程中会涉及到一个问题,就是打开页面的数量。在某些设计下,比如一个商品详情页面中会推荐其他的商品,这些商品点进去就是详情页面。详情页面中又有推荐,又可以点进去。这样
阅读全文
摘要:最近团队在开发一款小程序,都是新手,一边看文档,一边开发。在开发中会遇到各种问题,今天把小程序登录这块的流程整理下,做个记录。 小程序的登录跟平时自己APP这种登录验证还不太一样,多了一个角色,那就是微信服务器。 根据微信官方提供的登录流程时序图可以清楚的了解小程序登录需要多少个步骤,下面我们来总结
阅读全文
摘要:之前有写过一篇加密的文章 "《前后端API交互如何保证数据安全性》" 。主要是在Spring Boot中如何对接口的数据进行自动加解密操作,通过注解的方式来指定是否需要加解密。 原理也很简单,通过Spring提供的RequestBodyAdvice和ResponseBodyAdvice就可以对请求响
阅读全文
摘要:启动页在APP中是个很常见的需求,为什么对于小程序来说也非常重要呢?首先我描述一下我在开发过程中遇到的一些问题以及解决的步骤,到最后为什么要加启动页,看完你就明白了。 小程序的首页需要展示用户关注的小区信息,意味着一打开小程序我就得先执行登录的逻辑,只有登录了之后才能获取用户关注的小区信息。 在小程
阅读全文
摘要:时隔10多天,monkey api encrypt发布了第二个版本,还是要感谢一些正在使用的朋友们,提出了一些问题。 GitHub主页: "https://github.com/yinjihuan/monkey api encrypt" 本次更新内容如下: 支持Spring Boot配置 支持注解开
阅读全文
摘要:2019最寒冷,面试跳槽不能等 马上就3月份了,所谓的金三银四招聘季。2019年也许是互联网最冷清的一年,很多知名的大型互联网公司都裁员过冬。当然也有一些公司还在持续招人的,比如阿里就宣称不裁员,反而要增加更多的就业机会。 面试大公司的职位,基础显得很重要,在并发编程这块问的自然也比较多。对于一个J
阅读全文
摘要:关于框架的使用文章请参考: 前后端API交互如何保证数据安全性?:http://cxytiandi.com/blog/detail/20235 API数据加密框架monkey-api-encrypt:http://cxytiandi.com/blog/detail/36171 monkey-api-
阅读全文