使用Apollo动态修改线上数据源】的更多相关文章

前言 最近需要实现一个功能,动态刷新线上数据源环境,下面来使用Apollo配置中心和Spring提供的AbstractRoutingDataSource来实现. 具体实现 Apollo是携程开源的统一配置中心,和springboot无缝衔接并且不需要安装其他软件就可以直接使用,可以实时推送最新的配置文件.Spring提供的AbstractRoutingDataSource用于动态管理数据源,可以动态更新数据源,一般数据库的读写分离也是用这个抽象类实现的. 对Apollo不熟悉的可以先了解一下,G…
摘要:当我们线上的代码出bug了,咋办呢?有时候本地的代码跟线上的代码还是运行环境还是有区别的.比如有些封装的方法需要运动到手机上可以调试,而浏览器是无法调试的.如果不想每次修改完再放上到测试环境看效果,那要怎么做呢? fiddler为我们提供了很多的便利,直接就可以让你通过本地的代码,来让线上马上就可以访问到.来来来,走起 操作步骤如下:(图片发布到线上变形了,抱歉,不过基本可以看懂) 第一步:打开你需要替换的内容网站,找到你要替换的内容 比如我想替换博客园右边栏的那张广告图片,不错,我就是看…
起因: 线上 user 数据库没有自增字段,数据量已经达到百万级.无论是给离线仓库还是数据分析同步数据,没有主键自增 id 都是杀手级的困难.所以在使用 create_time 痛苦了几次之后准备彻底来解决这个问题. 解决问题的思路: 当时理了两个思路,一个是直接找个夜生人静的夜晚,drop 掉目前的 primary key .然后再 add 一个 id 字段做 primary key auto increament .我觉得这个方法对于 100w 以下的数据表是一个不错的方法,首先简单,其次找…
工作中,在排查线上问题时,有以下场景在不重新部署或重启服务的情况下,需要动态调整线上日志级别 1.线上有些日志打印过多干扰有用的日志,需要动态修改线上日志记录器的打印日志级别,调高一些日志级别,打印出更少的干扰日志 2.由于线上日志级别打印的相关有用日志太少,需要动态修改线上日志记录器的打印日志级别,调低一些日志级别,打印出更多的有用日志 本文的两个工具类使用的版本如下: ----------------logback--------------------- <dependency>   &…
前言 大多数情况下,我们会在打印日志时定义日志的LOGGER级别,用来控制输出的信息范围. 一方面,过多的输出会影响查看日志的效率,另一方面,过少的日志让问题定位变得困难. 但当线上出现问题时,线上容器通常定义在info级别,发生一些疑难问题时,光靠info级别的日志很难定位问题. 一个典型的场景:在一些需要打印MySQL语句的场景,如果你正在使用MyBatis框架,由于MyBaits中SQL语句是DEBUG级别的信息,通常在线上容器就没法看到. 一个丑陋的解决办法就是在沙箱/预发环境,将log…
写在前边 有没有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,线上调试代码又很麻烦,让人头疼得很.阿里巴巴出了一款名叫Arthas的工具,可以在线分析诊断Java代码,着实让人眼前一亮. 一.Arthas 是什么? Arthas(阿尔萨斯) 是阿里开源的一个Java在线分析诊断工具 二.Arthas 能解决啥问题? 在日常开发上线过程中,我们多多少少都会遇到下边这些问题,苦于无法在线调试,只能通过老鸟的经验来硬分析bug,效率上不…
JS动态修改微信浏览器中的title我们的原理是设置一个ifame然后我们再加载一下就可以实现了,具体的例子如下所示. 平时使用JS修改title,直接document.title=新标题就好了 这样在安卓的微信浏览器是正常运行,可在iOS中这样的确不起作用.微信浏览器的title在页面加载完成后就确定了,因此如果光使用document.title来修改,不会有效果.所以这里使用了黑科技.在微信浏览器中使用如下代码来动态修改浏览器上的title标题: var $body = $('body');…
chrome浏览器调试线上文件映射本地文件 通过ReRes让chrome拥有路径映射的autoResponse功能. 前端开发过程中,经常会有需要对远程环境调试的需求.比如,修改线上bug,开发环境不在本地等等.我们需要把远程css文件或者js映射到本地的文件上,通过修改本地文件进行调试和开发.通常我们可以通过以下方法来实现映射: 1.修改host文件——只能把域名映射到IP 2.使用Apache或者nginx搭建反向代理——需要装环境,配置相对繁琐 3.使用Fiddler中的AutoRespn…
背景 线上Hadoop集群资源严重不足,可能存在添加磁盘,添加CPU,添加节点的操作,那么在添加这些硬件资源之后,我们的集群是不能立马就利用上这些资源的,需要修改集群Yarn资源配置,然后使其生效. 现有环境 服务器:12台,内存64Gx12=768G,物理cpu16x12=192,磁盘12Tx12=144T 组件:Hadoop-2.7.7,Hive-2.3.4,Presto-220,Dolphinscheduler-1.3.6,Sqoop-1.4.7 分配策略 由于我们的版本是Hadoop-2…
公司线上在用partition,有一个表的分区字段错了,需要重建,结果发现没有办法像修改主键字段或者修改索引字段那样直接一条sql搞定.而是需要建临时表,有down time,所以去仔细看了文档,研究下partition的细节问题. 自己公司线上采取的时候,凌晨1点业务低峰期,执行: 建立临时表 CREATE TABLE tbname_TMP (     SHARD_ID INT NOT NULL,     ... xxx_DATE DATETIME NOT NULL,     PRIMARY…