文档章节

关于服务发现

浪里个浪浪
 浪里个浪浪
发布于 2017/04/01 23:14
字数 858
阅读 24
收藏 0

###背景和抱怨 最近项目进展到一定的程度,我越发感觉身体撑不住了,特别是眼睛,注意力也集中不起来,刚准备坐着鲁一下代码,就各种事情拖延,反正各种累。我对外说我需要两个月的时间调好服务发现,开始我玩了好多的软件,直到我最后锁定consul。 ###失败的尝试 ####bamboo 我的架构是marathon+mesos+docker对外提供服务的,如果是做服务发现,最好的办法是从marathon的api上获取应用的ip:port,然后传到一个像zookeeper这类的配置存储上,然后在在后面重载模版,进行服务变更。咱们先来说说这个etcd+confd的服务发现架构吧。部署方式类似这样, bamboo和这个架构很类似,但是稍稍比这个好那么一点点,好在bamboo是通过marathon的事件回调来进行服务变更的。 ####etcd+confd etcd不过是比zookeeper新那么一丢丢而已。集群部署上未必比zookeeper好。如果采用这种架构,组合相当灵活松散,etcd+confd完全可以合二为一的用,没有弄一个etcd集群的必要。弄个集群还要维护集群的稳定,单个实例部署反而异常简单,confd的模版重载也很出色,小巧靠谱。但是对于我们的mesos+marathon架构,要把他们组合起来,就需要一个从marathon同步数据到etcd的装置,这个貌似只能自己开发。 ###到底需要什么 当我深入的把这两个服务发现的方式玩了之后,我感觉心里没底,因为我的未来需求相当变态,以后要上应用编排,来个mysql redis之类的主从类应用,或者一个web开多个端口同时对外服务等等,再也不是一个应用一个端口,而且如果在反向代理层弄etcd服务,就必须考虑etcd的数据安全,我可不想有人黑掉我的etcd,还有反向代理要能根据用户定制的个性化配置进行重载,比如自定义域名,自定义禁止ip path等等,etcd+confd肯定是不行的,太low了,配置不好,每次应用变更存在一个大的空窗期,应用直接503或者proxy被重载很多次(太暴力了)。玩了bamboo之后,我开始对服务发现有了一个基础的认识,服务名字服务必须得有一个:zookeeper集群 etcd集群 或者consul server集群,这种存配置数据的集群,一定要一个,用来存放的信息得分为两类:task信息和应用配置信息,其中task信息主要是应用的docker容器的ip:port服务端口,应用配置信息是一些用户自定义的应用信息。为什么要分两类,你应该不想因为你修改了一个应用的域名就把整个应用的所有容器全部重启吧。 现在服务发现有太多的组合选择,判断好坏之前先弄明白:

  1. 服务注册的方式:主动注册和第三方注册
  2. 服务发现的方式:客户端发现和服务端发现 可以看看这里理解一下传送门

© 著作权归作者所有

浪里个浪浪
粉丝 7
博文 122
码字总数 40303
作品 0
南宁
私信 提问
Windows系统中网络故障

前些时候,处理电脑的时候发现开机后电脑网络符号直接是红色感叹号. 分析:一般连接线问题,网络服务关闭会出现红色感叹。 网卡是好的,连接灯也是闪烁无问题; 于是操作系统,发现打不开网络...

潇潇归
2017/05/24
0
0
J2me蓝牙打印开发

Java代码 String url = servRecord.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT,false); StreamConnection conn = (StreamConnection)Connector.open(url); DataOutputStream ......

长平狐
2012/08/29
156
0
关于使用 KKFileView 体验服务带来的安全问题

关于使用 KKFileView 体验服务带来的安全问题 多次发现 KKFileView 上面有人上传敏感内容,并没删除,但是今天发现的这个内容不得不发个资讯来呼吁下大家在使用公共服务时的安全意识。 今天发...

KL博客
2018/03/16
1K
5
进入WINDOWS迷宫后对其组件技术的进一步研究心得

COM,OLE,ACTIVEX,DCOM。。。等,都不过是微软在二进制技术上遇到困难以后被逼的选择。.NET的最终推出,就是MICROSOFT发出的最明显的向二进制认输的信号。 因为,从商业角度考虑,把用户与...

刘小兵2014
2010/12/07
77
0
Autodiscover(自动发现)故障解决

什么是自动发现? Exchange Autodiscover 是运行在Exchange 客户端访问服务器上的一种服务。它是包含在exchange 2007里的新特征之一。自动发现服务可以是配置Outlook 2007和Outlook 2010以及...

c1813
2013/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx+tomcat配置https

1、nginx配置https和【proxy_set_header X-Forwarded-Proto $scheme;】 2、java代码: String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServe......

perofu
20分钟前
4
0
必看的Linux系统新手进阶老手心得

不知道从什么时候起,linux这个话题变得越来越普及,成为大家经常讨论的话题。无论在网络上还是实际生活中,竟然很多人都在纠结学习linux的问题。网络上给的答案千千万万,而却还有很多人踌躇...

Linux就该这么学
23分钟前
4
0
Spring Boot 配置元数据指南

1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的。但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Proces...

liululee
26分钟前
3
0
foreach查找子类

$list = $menu_model -> menu_list();$parent_list = [];foreach ($list as $v){ if ($v['pid'] == 0) { $parent = $v; foreach ($list as $v1) ......

小小小壮
38分钟前
3
0
基于 HTML5 Canvas 实现的 TP-LINK 电信拓扑设备面板

前言 今天我们以真实的 TP-LINK 设备面板为模型,完成设备面板的搭建,和指示灯的闪烁和图元流动。 先来目睹下最终的实现效果:http://www.hightopo.com/demo/blog_tplink_20170511/index.h...

htdaydayup
44分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部