一.计划简介
1.apollo是携程框架部开发的分布式配置中心。
2.集中管理不同的应用程序环境和不同集群的配置。
3.配置修改后,可以实时推送到应用端。
4、具有标准化权限、流程化管理等特点。
第二,组件
apollo包括一个服务器和一个客户端。
服务器:基于springboot和springcloud的开发,打包后可以直接运行,不需要安装tomcat等额外的应用容器。
java客户端:独立于任何框架,可以在所有java运行时环境下运行,对spring/springboot环境也有很好的支持。
第三,的特点
1.同意管理不同环境和不同集群的配置。
2.配置修改实时生效(热发布)
3.版本发布管理——所有的配置都有一个版本概念,方便配置回滚。
4.灰度发布——点击发布,仅对部分应用实例生效,观察一段时间没有问题后,再推送给所有应用实例。
5.权限管理、发布审核和操作审核
权限管理——有完善的权限管理。
发布评审——配置管理分为两个步骤:编辑和发布,以减少人为错误。
操作审计–所有操作都有审计日志,这有助于跟踪问题。
6.监控客户端配置信息——在界面上可以方便地看到哪些实例正在使用配置。
7.提供java和。netnativeclients来促进应用程序集成。
8.提供了http接口,并且非java和。net应用程序也可以方便地使用。
9.提供开放式平套api
10.部署非常简单。只要安装了java和mysql,apollo就可以运行。
第四,实施过程
1.用户在配置中心修改和发布配置。
2.配置中心通知apollo客户机配置更新。
3.apollo客户端从配置中心获取最新的配置,更新本地配置并通知应用程序。
五、工作原理
上图简单描述了的整体设计,我们可以从下往上看:
1.配置服务提供读取、推送配置等功能,服务对象为apollo客户端。
service提供配置修改、发布等功能,服务对象是apolloportal(管理界面)。
3.配置服务和管理服务是多实例和无状态的部署,因此您需要在eureka中注册自己并保持心跳。
4.在eureka之上,我们设置了一层元服务器来封装eureka的服务发现接口。
5.客户端通过域名访问元。服务器获取config服务的服务列表(ip端口),然后通过ip端口直接访问服务。同时,它会在客户端进行负载平衡和错误重试。
6.门户通过域名访问元服务器获取adminservic
mysql的字符串匹配
需求表数据如下::。
java代码
mysqlgt从测试中选择*
--
|id|姓名|
--
|1|abc**|
--
集合中的1行(0.00秒)
我想匹配abcde,就是a*代表一个字符。
分析:
正则化中,*代表0以上,所以这里存储有问题,应该存储。or_then查询sql可以通过like和regexp实现。
结论:
接受喜欢
java代码
mysqlgtselect*fromtestwhereabcdelikereplace(name,*,_)
--
|id|姓名|
--
|1|abc**|
--
集合中的1行(0.01秒)
用_替换,然后用like匹配
2.采用正则表达式
java代码
mysqlgtselect*fromtestwhereabcderegexpreplace(name,*,.)
--
|id|姓名|
--
|1|abc**|
--
集合中的1行(0.02秒)
替换为。然后匹配