策略分类 目前搞清楚两种 第一种(蓝色):默认服务器列表中选一个,算法核心是根据应用名的哈希值取模.也就是说同一个应用始终打到同一台服务器上,如果这台服务器挂了,另选一台服务器. 第二种(红色):应用指定服务器列表. 处理逻辑: 第一步是找应用列表,先找应用指定的,没有的话,然后一堆判断,最后找默认的服务器列表 第二步,选出3台服务器,客户端上报用第一台,如果第一台失联,接着用第二台 思考 一个应用所有的流量打到一台Cat服务上,如果这个应用的流量特别大呢... 我们的实践是hashcode(应…
场景 & 代码 Inner0 中的某方法调用了 Inner1,代码 Inner1的代码很简单, Cat通过一个线程本地变量来保存调用链的相关信息,其中核心的数据结构是消息树和操作栈.消息树用来存数据,操作栈用来构建节点的层次关系. 在上面的调用过程中,这两个数据结构状态的变化如下 更复杂的场景 数据的变化过程…
cat客户端部分核心类 message目录下面有消息相关的部分接口 internal目录包含主要的CAT客户端内部实现类: io目录包含建立服务端连接.重连.消息队列监听.上报等io实现类: spi目录为上报消息工具包,包含消息二进制编解码.转义等实现类. 消息的组织 - 消息树 大众点评Cat使用消息树(MessageTree)组织日志,下面为消息树的类定义 我们每次操作的实体都是消息树,其中有个domain字段,这是cat中一个非常重要的概念,一个domain可以对应成一个project,每…
什么是RootMessageId? 为了理解RootMessageId先简单介绍一下CAT的数据结构设计.CAT客户端会将所有消息都封装为一个完整的消息树(MessageTree),消息树可能包括Transaction.Event.Heartbeat.Metric等类型的消息.具体如下: Transaction:适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数 Event:用来记录一件事发生的次…
转载地址:http://www.cnblogs.com/lxblog/archive/2012/09/20/2695397.html 前一篇我们演示了基于SSL的WCF 对客户端进行用户名和密码方式的认证,本篇我们演示一下服务器端对客户端采用X.509证书的认证方式是如何实现的. 项目结构及服务代码和前两篇代码是基本一样的,为了大家看着方便,再从头到尾进行一下演示. 一.制作证书: 本次制作证书和第一篇略有不一样,主要为了演示证书的信任链关系,我们首先创建一个证书作为证书认证中心(CA)的根证书…
运行环境 以下就是这个示例的运行环境,如果版本号不一样,区别也应该不会很大,可以根据实际情况做相应调整. JDK 8 spring boot 2.0.7.RELEASE cat-client 3.0.0 apollo-client 1.3.0 欢迎关注微信公众号:万猫学社,每周一分享Java技术干货. 去除Apollo对CAT的依赖 众所周知,Apollo对CAT是有依赖的,但不是强依赖,而是使用了SPI技术,只有项目里引用了cat-client才会生效.目前我们想把CAT客户端配置放在Apol…
1:WebService服务端工程目录如下: 需要第三方jar包:gson-2.2.4.jar\javax.xml.bind.jar\commons-lang-2.5.jar 源码如下: package com.mw.dao; import com.mw.vo.Nsr; import java.util.List; /** * @author y * @date 2015-4-4 9:23:53 * @version 1.0 * @desc */ public interface NsrDao…
@echo off title 创建IP安全策略,屏蔽135.. . . . 等端口 :: 配置说明文档地址 :: http://blog.csdn.net/lpc_china/article/details/6944432 echo 创建安全策略 netsh ipsec static delete policy name= 安全策略20170621 netsh ipsec static add policy name=安全策略20170621 echo 创建筛选器是阻止的操作 netsh ip…
本来从来没有仔细研究过Http协议,今天因为公司业务需求,调试了半天,终于现在会Winform用Http协议与服务端通信了,其中常用的有POST和Get方式: 仔细看了人人网和新浪等大部分都是采用GET方式获取数据的: private void pictureBox3_Click(object sender, EventArgs e) { string strUserName = textEdit1.Text.Trim(); //用户名 string strUserPwd = textEdit2…
http://blog.csdn.net/wilsonke/article/details/24721057 近日根据官方提供的通信例子自己写了一个关于Unity(C#)和后台通信的类,拿出来和大家分享一下. 具体请参考: 1.java服务端用的apach.mina框架搭建.java服务端请参考:http://blog.9tech.cn/?c=site&m=article&id=548 2.C#环境:.NET framework 2.0 3.C#帮组文档,及Socket注解:http://…