简单记录下3PC】的更多相关文章

三PC分为三个阶段:CanCommit,PreCommit, DoCommit 整个分布式系统中,有一个组织者,其他属于参与者,当一个组织者挂了,会从其他可用site中选一个组织者出来,降低阻塞,避免单点问题 下面按序介绍三个阶段: (1)CanCommit 组织者向参与者发送询问“Request-Precommit”,仅在回复全部为Yes时进入下一步 (2)PreCommit 组织者向参与者发送请求“PreCommit”,收到的参与者开始执行Txn,将事务记录进日志,但不提交,完成后返回ACK…
大概思路 大概思路是混合加密的方式,即对称加密方式混合非对称加密方式. 非对称加密会更加安全,功能也更强大,但他复杂而且速度慢. 对称加密速度快,但要保证这个公共密钥的正确性和真实性. 所以两者结合,在确定公共密钥的时候,采用非对称加密的方式来传递这个公共密钥,然后后面的交流的信息都用这个公共密钥来进行加密. 那又要怎么确定服务器的身份呢?如果是一个假的服务器,直接给了你一个假的公钥,那么一开始就错了啊. 这就要用到证书了,证书是这样的原理的,大概描述下: 1. 服务器把自己的公钥登陆到数字证书…
一.微服务的注册与发现——Eureka 和许多分布式设计一样,分布式的应用一般都会有一个服务中心,用于记录各个机器的信息.微服务架构也一样,我们把一个大的应用解耦成这么多个那么多个服务,那么在想要调用这些服务的时候要怎么办呢? 这个时候就需要我们的Eureka了,它是用来发现和注册各个微服务的,简单理解这个东西的作用就是,告诉你现在有哪些微服务,他们的IP啊端口什么的,然后告诉你怎么去调用他们. 下面的图简单的描述了大致的过程: Spring Cloud提供了多种注册中心的支持:如Eureka.…
学无止境! 今天无意中做了下RestTemplate调用demo,简单的尝试了下一个项目调用另一个项目接口示例 在A项目中创建可访问controller 然后在B项目中进行调用 调用成功…
1.CSV保存测试数据,并上传到CSV Data Set Config,设置相关属性 2.CSV保存测试用例,并上传到CSV Data Set Config,设置相关属性 3.设置一个http请求,设置请求参数的value为参数化形式获取: ${} 4.在post请求下,加正则提取器,提取响应结果,放到fresult 5.jmeter里引入外部jar包,该jar包的功能包含创建测试结果的模板,写入测试结果 6.新增一个beanshell取样器,用户创建Excel用例模板,在beanshell里调…
1. 安装ActiveMQ 到Apache官方网站下载最新的ActiveMQ的安装包,并解压到本地目录下后运行 2. pom.xml引入  springboot配置文件中填写相关配置 3.创建生产者 @Component public class JmsProducer { private static final Logger LOG = LoggerFactory.getLogger(JmsProducer.class); @Autowired private JmsMessagingTem…
内容参考自博客:https://blog.csdn.net/ff906317011/article/details/78552426 这个标注是用来注释controller中的请求方法中的参数的,那么什么时候要用这个注解呢? 主要看请求的方式和请求header的编码方式: 1.请求方式为get/post时,根据request header Content-Type的值来判断: 如果Content-Type是application/x-www-form-urlencoded的话,可以选择用这个注解…
首先,写这篇文章的原因是因为最近某一个项目中的接口被人为调用了,导致了数据库数据被串改.虽然是内部人无意点的,但还是引起了我的担忧,所有整理了下关于Webapi的相关签名机制. 一.我们在开发接口时,有时候嫌麻烦就懒进行相关的验证或只进行一些简单的验证,这样客户端就可以直接调用:如 调用Webapi接口:http://XXX.XXX.XX.XXX:8123/Token/GetTest?ID=123456 这种方式简单粗暴,在浏览器直接输入"http://XXX.XXX.XX.XXX:8123/T…
在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV tar包    地址 3. 解压tar包到~/dev/opencv-2.4.11 4. 进入该目录,执行$cmake .   如果报错缺少依赖库则安装之 5. 执行$make,过程略慢 6. 执行$make install 7. 创建文件/etc/ld.so.conf.d/opencv.conf…
ReentrantLock在进行实例化时,可以通过构造函数的参数选择是否使用公平锁FairSync或者非公平锁NonfairSync,两者的区别比较简单,如果是公平锁则新来的线程会先检测同步队列中是否有等待的线程,如果有,则追加到同步队列尾,锁竞争过程强调的是有序进行,当然代价比较明显,线程切换会造成额外消耗:而对于非公平锁,新来的线程会直接参与竞争,比如一个线程刚刚释放锁但CPU时间片还没结束,如果再次争夺锁,那明显会更容易成功,也就是以无序争夺锁来降低线程切换从而提高吞吐量. 这里以Nonf…