使用RedisMQ 做分布式改造,从此放心安全迭代
2019-08-07 17:02
1216 查看
引言
熟悉TPL Dataflow博文的朋友可能记得这是个单体程序,使用TPL Dataflow 处理工作流任务, 在使用Docker部署的过程中, 有一个问题一直无法回避:
在单体程序部署的瞬间会有少量 流量无法处理;更糟糕的情况下,迭代部署的这个版本有问题,上线后无法运作, 更多的流量没有得到处理。
背负神圣使命(巨大压力)的程序猿心生一计, 为何不将单体程序改成分布式:服务A只接受数据,服务B只处理数据。
var redis = new CSRedisClient[16]; //定义成单例 for (var a = 0; a < redis.Length; a++) redis[a] = new CSRedisClient(Configuration.GetConnectionString("redis") + ",defualtDatabase=" + a); services.AddSingleton<CSRedisClient[]>(redis); RedisHelper.Initialization(redis[0]);注册CSRedisCore服务 最后依照引言中的部署原理图,将Nginx,Receiver, WebApp dockerize, 并且让 webapp 依赖于Nginx,Receiver
-------------------截取自docker-compose.yml文件---------------------- app: build: context: ./app dockerfile: Dockerfile expose: - "80" extra_hosts: - "dockerhost:172.18.0.1" environment: TZ: Asia/Shanghai volumes: - type: bind source: /mnt/eqidmanager/eqidlogs target: /app/eqidlogs - type: bind source: /mnt/eqidmanager/applogs target: /app/logs - type: bind source: /home/huangjun/eqidmanager/EqidManager.db target: /app/EqidManager.db healthcheck: test: ['CMD','curl','-f','http://localhost/healthcheck'] interval: 1m30s timeout: 10s retries: 3 depends_on: - receiver - proxy logging: options: max-size: "200k" max-file: "10" privileged: true
① 根据docker-compsoe up命令的用法,若Receiver容器正在运行且服务配置并未改变,该容器不会被停止。
② 根据官方文档对于depends_on 指令的说明,该指定决定了容器启动和停止的顺序,因此引言中需要 【暂存流量】刚性需求可以得到满足
改造上线之后,效果很明显,现在可以放心安全的迭代 TPL DataFlow数据处理程序。
作者:JulianHuang码甲拙见,如有问题请下方留言大胆斧正;码字+Visio制图,均为原创,看官请不吝好评+关注, ~。。~
本文欢迎转载,请转载页面明显位置注明原作者及原文链接。
相关文章推荐
- mysql 第12天 分布式事务的使用 SQL中的安全问题
- 使用 Redis 实现分布式锁
- 为了安全起见,要求使用强SA密码的解决方法
- 使用github管理Eclipse分布式项目开发
- linux安全---ssh配置与使用
- iOS安全攻防(三):使用Reveal分析他人app
- 父母终于可以放心啦 安全上学 智慧校园电子班牌系统方案
- SAFEARRAY安全数组的使用方法
- 安全使用CString,今日害死我了
- Apache Shiro 使用手册(一)Shiro架构介绍 博客分类: 开发 安全框架Shiro 一、什么是Shiro Apache Shiro是一个强大易...
- 使用 JMeter 分布式性能测试
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 s
- Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
- 放心使用 Google Libraries API
- kafka分布式消息队列使用(springboot和springmvc)
- ssm+dubb:使用ssm+dubb搭建分布式项目时出现的问题(org.springframework.beans.factory.BeanCreationException)
- 安卓旧项目使用Small框架插件化改造踩坑记
- 一个"如何使用示波器安全测试接市电电路板"的问题
- pandas中Groupby使用(二)-对分组进行迭代