
架构
文章平均质量分 92
tengxvincent
这个作者很懒,什么都没留下…
展开
-
分布式复习--通信协议之http
HTTP协议的概述1. 客户端和服务器端 2. 资源html/文本、word、avi电影、其他资源3. 媒体类型MIME类型。 text/html、 image/jpeg 4. URI和URLURI:web服务器资源的名字。 index.htmlURL: http://www.gupaoedu.com:80/java/index.html[?query-string] #locatio...原创 2018-07-16 14:19:17 · 355 阅读 · 1 评论 -
分布式复习--ActiveMQ 三 整合spring
Spring提供了对JMS的支持,需要添加Spring 支持JMS的包添加jar依赖 配置spring文件 编写发送端代码配置接收端spring文件直接copy发送端的文件编写接收端代码spring的发布订阅模式配置使用非阻塞模式以事件通知方式来配置消费者 更改消费端的配置增加FirstMessageListener监听类...原创 2018-08-10 09:57:16 · 171 阅读 · 0 评论 -
分布式复习--分布式事务
分布式事务产生的背景database transcation数据库事务要求 ACIDAtomic(原子性) 事务必须是原子的工作单元 通过事务日志实现Consistent(一致性) 事务完成时,必须使所有的数据都保持一致状态 通过事务日志实现lsolation(隔离性) 并发事务所做的修改必须和其他事务所做的修改是隔离的 通过锁实现Dura...原创 2018-08-01 14:01:49 · 336 阅读 · 0 评论 -
分布式复习--RPC框架Dubbo 二 源码解析
源码解读要点首先我们要关注的是服务的发布和服务的消费这两个主要的流程,那么就可以基于这个点去找到源码分析的突破口。那么自然而然我们就可以想到spring的配置Spring对外留出的扩展dubbo是基于spring 配置来实现服务的发布的,那么一定是基于spring的扩展来写了一套自己的标签,那么spring是如何解析这些配置呢?在spring中定义了两个接口NamespaceH...原创 2018-08-01 15:11:49 · 410 阅读 · 0 评论 -
分布式复习--ActiveMQ
activeMQ安装 activeMQ的应用场景 JMS的概念和模型 通过JMS的api去实现了一个p2p的发送代码 JMS的消息结构组成:消息头、消息体、消息属性 JMS的域模型(点对点、pub/sub) JMS的可靠性机制 事务型: session.commit 非事务型: ack类型 :AUTO_ACK / CLIENT_ACK /DUPS_ACK 本地事务、消息的持...原创 2018-08-02 19:12:57 · 218 阅读 · 0 评论 -
ActiveMQ的消息重发机制
本文以ActiveMQ最新的5.10版本为准。 大家知道,JMS规范中,Message消息头接口中有setJMSRedelivered(boolean redelivered)和getJMSRedelivered()方法,用于设置和获取消息的重发标志,当然set方法主要是MOM来调用的,我们客户端使用的是get方法。 还记得当时阿里的电话面试曾问过我,你知道Acti...转载 2018-08-13 10:32:58 · 999 阅读 · 0 评论 -
分布式复习--Kafka
Kafaka解读 :http://www.importnew.com/25247.html目录1 安装kafkazookeeper上注册的节点信息 2 基本操作 官网地址: http://kafka.apache.org/documentation/#quickstart3 kafka的实现细节消息topic&partition4 kafka的高吞吐...原创 2018-08-15 19:06:41 · 361 阅读 · 0 评论 -
分布式系统接口幂等性
1.幂等性定义 1.1 数学定义 1.2 HTTP规范的定义 2. 何种接口提供幂等性 2.1 HTTP支持幂等性的接口 2.2 实际业务 3.分布式系统接口幂等性 References 1.幂等性定义 1.1 数学定义 在数学里,幂等有两种主要的定义: 在某二元运算下,幂...原创 2018-08-17 10:56:58 · 4921 阅读 · 1 评论 -
分布式复习--Kafka二
消息确认的几种方式自动提交手动提交手动异步提交consumer. commitASync() //手动异步ack手动同步提交consumer. commitSync() //手动异步ack指定消费某个分区的消息消息的消费原理(0.8版本之前)之前Kafka存在的一个非常大的性能隐患就是利用ZK来记录各个Consumer Group的消费进度(offset...原创 2018-08-17 15:57:28 · 277 阅读 · 0 评论 -
Kafka消费组(consumer group)
转载地址:https://www.cnblogs.com/huxi2b/p/6223228.html一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少。最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时机成熟了,于是写下这篇文章讨论并总结一下新版本consumer的些许设计理念,希望能把consu...转载 2018-08-17 16:00:17 · 863 阅读 · 0 评论 -
Docker 概念-架构-相关术语
虚拟化技术简介基于 Hypervisor的虚拟化 什么是Hypervisor 可以简单地理解为 VirtualBox和VMWare workstation。虚拟机的概念先来理解一下虚拟机概念,广义来说,虚拟机是一种模拟系统,即在软件层面上通过模拟硬件的输入和输出,让虚拟机的操作系统得以运行在没有物理硬件的环境中(也就是宿主机的操作系统上),其中能够模拟出硬件输入输出,让虚拟机的操作系...转载 2018-08-21 16:13:15 · 505 阅读 · 0 评论 -
分布式复习--RPC框架Dubbo
1 负载均衡策略https://www.jianshu.com/p/ad38dc1fe7011,Random LoadBalance 随机,按权重设置随机概率。 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。2,RoundRobin LoadBalance轮循,按公约后的权重设置轮循比率。 存在慢的提供者累积...原创 2018-07-31 11:37:13 · 206 阅读 · 0 评论 -
分布式复习--ActiveMQ 二
ActiveMQ消息的发送策略默认情况下是事务型持久化异步非事务性情况持久化消息 (broker将消息持久化到硬盘)默认情况下,生产者发送的消息是持久化的。消息发送到broker以后, Producer会等待broker对这条消息的处理情况的反馈。(同步等待 :效率低,耗资源)可以设置消息发送端发送持久化消息的异步方式 connectionFactory.setUseAs...原创 2018-08-09 10:00:06 · 176 阅读 · 0 评论 -
Http协议与TCP协议简单理解
编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解。TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Htt...转载 2020-09-23 14:14:44 · 328 阅读 · 0 评论 -
分布式复习--通信框架-RMI
什么是rpc remote procedure call potocal 远程过程调用协议rpc 协议其实是一种规范 。常用rpc框架 dubbo,thirf , rmi ,webservice,hessain网络协议和网络io对调用端和服务端来说是透明的;一个RPC框架包含哪些要素:传输层(tcp/udp)--》消息层(消息序列化和反序列化,数据处理)--》代理层(屏蔽到调用细节 代理+反射...原创 2018-07-16 17:28:02 · 249 阅读 · 0 评论 -
分布式复习--CAP和BASE理论
分布式环境的特点分布性并发性程序运行过程中,并发性操作是很常见的。比如同一个分布式系统中的多个节点,同时访问一个共享资源。数据库、分布式存储此处的并发是不同进程中之间的并发。无序性进程之间的消息通信,会出现顺序不一致问题 分布式环境下面临的问题网络通信网络本身的不可靠性,因此会涉及到一些网络通信问题网络分区(脑裂)当网络发生异常导致分布式系统中部分节...原创 2018-07-17 11:48:18 · 640 阅读 · 0 评论 -
分布式复习——架构概述
特点:高并发,海量数据什么是分布式?分布式就是一个业务拆分成几个子系统,部署在不同的服务器上,这些子系统组合在一起形成一个完整的系统。电商平台:用户,商品 ,订单,交易什么是集群?同一个业务,部署在多个服务器上如同一用户系统部署两套: 用户1 ,用户2 集群保证高可用,分布式保证高性能。两个问题需要解决1: 任务分解2:节点通信 :rpc框架+消息中间件什么是大型网站?1 访问量 (tps,qps...原创 2018-07-11 16:47:09 · 222 阅读 · 0 评论 -
分布式复习--协调服务 zookeeper
zk 是一个开源的的分布式协调服务,由雅虎创建,基于google chubby.提供 一个分布式数据一致性解决方案 简单的说,zookeeper=文件系统+通知机制。zk 能做什么?数据的 发布/订阅(配置中心:disconf) ,负载均衡( dubbo利用zookeeper机制实现负载均衡),命名服务,master选举(kafka,hadoop,hbase), 分布式队列...原创 2018-07-23 17:50:54 · 251 阅读 · 0 评论 -
分布式复习——分布式通信协议分析
网络协议: tcp/ip 和 UDP/IPTCP 五层模型 应用层,传输层,网络层,链路层,物理层osi模型7层 表达层,会话层TCP/IPTCP/IP(Transmission Control Protocol/Internet Protocol)是一种可靠的网络数据传输控制协议。定义了主机如何连入因特网以及数据如何在他们之间传输的标准。T...原创 2018-07-13 16:49:10 · 1782 阅读 · 1 评论 -
分布式复习--协调服务 zookeeper 二
zkclient<dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version></dependency>publ原创 2018-07-24 14:11:34 · 200 阅读 · 0 评论 -
zookeeper 应用和原理
场景一有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了。 通过我们的讨论和以往的经验判断在这场景中可以实现并行计算,但我们还期望能对并行计...转载 2018-07-18 11:02:25 · 148 阅读 · 0 评论 -
Zookeeper中写操作全局投票
关于Paxos的具体描述可以在Wiki中找到:http://zh.wikipedia.org/zh-cn/Paxos算法。网上关于Paxos分析的文章也很多。这里希望用最简单的方式加以描述并建立起Paxos和ZK Server的对应关系。Paxos描述了这样一个场景,有一个叫做Paxos的小岛(Island)上面住了一批居民,岛上面所有的事情由一些特殊的人决定,他们叫做议员(Senator)。议...转载 2018-07-18 11:03:37 · 1634 阅读 · 2 评论 -
分布式复习--协调服务 zookeeper 三
zookeeper的应用场景订阅发布使用watcher机制 统一配置管理(disconf):实现配置信息的集中式管理和数据的动态更新。实现配置中心的两种模式:push pullzookeeper采用推拉结合的方式,客户端向服务器端注册自己需要关注的节点,一旦节点数据发生变化,那么服务器就会向客户端发送watcher通知。客户端收到通知后,主动到服务器端获取更新后的数据。实现...原创 2018-07-26 10:49:54 · 150 阅读 · 0 评论 -
分布式复习--协调服务 zookeeper四
zookeeper集群leader选举 :zookeeper 提供了三种选举算法 leaderElection , fastLeaderElection ,authFastLeaderElection 默认为 fastLeaderElection 源码地址:https://github.com/apache/zookeeper.gitQuorumPeer 类 startLead...原创 2018-07-26 15:18:24 · 148 阅读 · 0 评论 -
mysql一事务及ACID特性的实现原理
MySQL 事务基础概念事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个 sql 语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL 支持事务,本文介绍基于 MySQL 5.6。首先回顾一下 MySQL 事务的基础知识。逻辑架构和存储引擎如上图所示,MySQL 服务器逻辑架构从上往下可以分为三层: ...原创 2019-03-28 14:49:09 · 265 阅读 · 0 评论