后端架构
文章平均质量分 87
luxda
这个作者很懒,什么都没留下…
展开
-
Spring cloud中的服务自定义路由
很多情况下我们需要服务自定义路由,比如需要灰度发布时线上验证环境、生产环境的服务实例路由是需要区分的,还有在SAAS化应用中,经常会把租户分成一个个组,每组分配几个服务实例,就是说组内服务实例共享,组间是隔离的。 本文在Spring Cloud的基础上,给出了一个服务分组和自定义路由的方案,并提供了范例代码,代码开源地址为:https://github.com/tangaiyun/custom...原创 2018-02-27 15:10:16 · 3171 阅读 · 0 评论 -
基于Mycat的多租户分库方案
方案一:租户共享MyCat中的schema,schema中的表会跨越多个datanode,因此每个表应该指定primary key, sharding rule可以解析primary key中包含的租户code,从而进一步确定每个租户对应的datanode.这就要求每个表的主键生成必须要主键生成器来生成(key generator),主键生成器要满足以下要求:主键生成效率高生成的主键全局无冲突生成...原创 2018-04-04 11:31:02 · 6129 阅读 · 2 评论 -
API 限流器(二)史上最优秀的访问频率控制器的算法设计详解
项目代码地址: https://github.com/tangaiyun/RedisRateLimiter举例如果限制的时间单位为分钟,限制前缀为一个IP(128.9.9.23),则当前有序集合的key的运算规则如下:求出当前时间所处的分钟序号: long index = Long.parseLong(jedis.time().get(0)) / 60; 当前有序集合的key为:“128.9.9....原创 2018-05-26 17:11:37 · 2136 阅读 · 0 评论 -
Spring Cloud之网关Zuul开启重试
在Spring Cloud体系中,如果网关要支持重试要配置的点蛮多的,等我一一道来:网关工程pom.xml中要加入org.springframework.retry依赖<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artif...原创 2018-07-03 20:12:17 · 1768 阅读 · 0 评论 -
一个把PHP开发的Restful API应用集成到Spring Cloud体系中的方案
方案思路:把php应用部署到openresty + PHP(FPM) 通过openresty的 init_worker_by_lua_block特性,在第一个worker被创建时,读取服务配置文件 把服务配置文件中的信息通过eureka或者consul的rest api,注册服务实例 如果是eureka,启动timer定时刷新心跳 当nginx被优雅关闭时(nginx -s quit)...原创 2018-10-30 23:13:48 · 1964 阅读 · 0 评论