disconf(二):服务端使用总结

1、服务端原理

客户端启动,把配置文件,配置项存到仓库,等到服务端启动,从服务端拉取数据;服务端更新,则通过zk通知客户端,客户端知道更新后,会从服务端拉取最新的配置文件,如果更新的是redis配置,则需要写回调函数重启redis,不写,则要重启项目;更新其它的一些参数不需要重启项目;另外zk最好配成集群模式,这样可以做到高可用,一个主服务端挂了,会选举另外一个从的作为主服务端。

2、部署

需要的软件mysql(存放一些初始化数据)、tomcat(存放服务端的动态文件)、nginx(存放服务端的静态文件)、zookeeper(存放客户端的注册信息)、redis(存放用户的登录、登出信息)

3、性能测试

压测工具:Jmeter

disconf和spring cloud config server,经压力测试,disconf的容错性、并发更高,有管理界面,  配置略复杂;spring cloud config性能较低,需要很多优化,并且需要同时掌握spring cloud的各个组件,才能更好的优化。

4、局限性

1、修改mysql等服务器的配置,不能马上生效,必须重新启动项目,要生效的话,必须要写回调函数,增加编程的复杂性。

  • 2、配置文件类、配置项所在的类、回调函数类 都必须是JavaBean,并且它们的”scope” 都必须是singleton的。用户标注配置时略有些不习惯。目前注解是放在get方法之上的,而不是放在域上。
  • 3、注解放在get方法上,一般情况下是没有问题的。但是对于”call self”的方法调用,AOP无法拦截得到,这样就无法统一处理这些配置。一旦出现这种情况,“非一致性读问题”就会产生。

原文地址:http://blog.51cto.com/xxdeelon/2096116

时间: 2024-10-09 13:28:11

disconf(二):服务端使用总结的相关文章

MVC系列学习(十二)-服务端的验证

在前一讲,提到过,客户端的东西永远可以造假,所以我们还要在服务端进行验证 1.视图与Model中的代码如下 2.一张图,来记忆,服务器端验证,为我们做了什么,原理发现多了一步 2.1情况一:客户端直接就不满足条件,那么就没有机会进行服务器端验证了 2.2情况二:客户端通过了浏览器端的验证,那么就要进行服务器端验证了

一小时精通SVN版本控制 之二 服务端的安装和配置

服务端的安装: 保持默认,单选框这里选择第一项,如果选择第二项就没有可视化界面了.复选框勾选上,否则不能用命令行. 这里选择标准版 standard Edition是免费的,下面的企业版是收费的. Location这里选择安装路径,repositores选择仓库路径也就是所有的文件和代码保存的位置,server port表示端口号,通过这个端口来与客户端通信,后面的复选框如果选中则是采用https协议,否则采用http协议,https协议在http协议的基础上加强了安全性,一般选中. 安装完成后

Photon Server 实现注册与登录(二) --- 服务端代码整理

一.有的代码前端和后端都会用到.比如一些请求的Code.使用需要新建项目存放公共代码. 新建项目Common存放公共代码: EventCode :存放服务端自动发送信息给客户端的code OperationCode : 区分请求和响应 ReturnCode : 服务端响应码 ParameterCode : 解析参数Toos/DicTool.cs : 数据基本上都是用Dictionary读取,这里工具话一下. 二.代码 Toos/DicTool.cs using System.Collection

号召大伙完善一个IM系统---------C#+JS (二)-------服务端封装Redis

这个IM的服务端,使用的是Redis作为数据库 我一开始使用的redis的SDK是ServiceStack.Redis,但是据说它是收费的,测试版的一个小时内只能发送1000个请求?? 后来,我改成使用StackExchange.Redis作为Sdk,并根据它的特点进行了一些封装.下面,介绍一下 为什么这样封装以及封装的内容. 我们先看一下封装后,是如何调用的(最终的目的就是要这样) 使用关系型数据库(mysql,sqlserver..)时,我们都是有一个DAL层的,dal层的每个类,对应的是一

dubbo学习总结二 服务端

服务端主要执行对底层数据库的操作 主要分层为 api +dao+ filter+ util+... 首先 dubbo 服务端有一个dubbo配置文件 dubbo:application 定义应用名称 dubbo:registry 将这个注册到zookeeper里面 zookeeper对这些服务进行管理 dubbo:protocal 和provider注册zookeeper暴露端口号 dubbo:service 提供的服务 这里的interface 是取API 里面的提供的,ref 是绑定了 相当

SignalR 教程二 服务端广播

转帖官方教程:Tutorial: Server Broadcast with SignalR 2 http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr This tutorial shows how to create a web application that uses ASP.NET SignalR 2 to provide server broadcast fu

如何将phantomjs单独部署在服务端

如何将phantomjs单独部署在服务端 文章目录 一. 容我分析(lao dao)几句 二. 服务端 Look here 服务端phantomjs搭建 web端搭建及如何调用phantomjs 三. 效果展示啦 hey,every one ,很久没给大家分享技术型的文章啦,今天抽时间来一发吧 一. 容我分析(lao dao)几句 之前写了2篇 highcharts 结合 phantomjs 后端生成图片的文章,http://www.peng8.net/2014/07/21/render-cha

使用极光推送实现分组发送和服务端集成

推送功能在手机应用开发中越来越重要,几乎成为所有App必备的功能,由于Android本身没有消息推送机制,通常采用的是基于XMPP协议的推送,但这种开发很麻烦,因此在市场上应运而生了提供消息推送服务的诸多产品,例如:百度云.个推.极光等. 极光推送正是一个整合了Android推送.iOS推送的统一推送服务平台.下面讲解一下如何使用极光实现消息推送应用,并重点讲解一下如何实现向分组发送消息及推送服务端和自身应用集成,具体实现过程如下: 目录: 一.注册应用 二.环境搭建 三.Android开发,实

Java小项目点餐系统(二)之服务端

服务端详解: 服务端的主要功能就是无限监听一个端口号,对客户端发来的连接请求给予回应,然后开辟新线程处理客户端.界面做的比较简单就是显示在线的用户,分为商家和学生. 一.监听客户端的socket连接请求 <span style="font-family:KaiTi_GB2312;font-size:18px;">package mainjframe; import java.awt.Dimension; import java.awt.GridLayout; import