
互联网架构
文章平均质量分 65
SXAU-码农大雄
这个作者很懒,什么都没留下…
展开
-
nio概述
nio概述1.介绍on-Blocking I/O:非阻塞通信模型,不同的语言都实现了nio我们学习java的nio,在jdk1.4版本后出现的一套apibio通信模型是socket(阻塞通信模型),nio是非阻塞通信2.为什么要学nio大数据的任何应用,都是分布式、高可用、负载均衡、处理、存储海量数据分布式架构基础就是网络通信,网络通信是分布式架构师必备的基础技能网络通信底层...原创 2019-11-01 19:46:46 · 357 阅读 · 0 评论 -
zuul网关
zuul网关1.概述整个微服务框架搭建完毕之后,集群唯一对外提供接口访问的角色,ribbon、eureka等不能将内部请求地址对外暴露,一旦暴露,会出现被攻击的危险2.zuul访问逻辑zuul底层实现了ribbon+restTemplate,当浏览器访问zuul对外暴露的接口时,zuul内部会通过接口绑定的eureka的服务名称,通过ribbon+restTemplate去访问真实的...原创 2019-10-30 18:53:09 · 186 阅读 · 0 评论 -
ribbon
ribbon1.介绍springcloud中,提供一个客户端组件,用来负载均衡的访问某个服务用的实现内部服务调用另一个服务的客户端ribbon启动之后,作为eureka的客户端,到eureka注册中心动态抓取服务提供者列表(30秒重新抓取一次),可以实现动态对服务负载均衡的访问(绕过了nginx,也绕过了静态页面,也无需nginx和后台服务进行绑定),ribbon需要依赖restTemp...原创 2019-10-30 18:50:34 · 229 阅读 · 0 评论 -
eureka
eureka1.eureka介绍 是springcloud的核心组件(管理单位),完成当前所有集群微服务的注册与发现逻辑的核心进程,可以动态的处理所有的负载均衡访问时对集群server的管理工作服务的注册:微服务节点作为真正的服务,功能的提供者,可以动态注册在eureka中心服务的发现:客户端(eureka的客户端)访问eureka,动态获取某一个服务的真正提供者信息,从而发起...原创 2019-10-30 18:47:57 · 402 阅读 · 0 评论 -
微服务框架(sringcloud)
微服务框架(sringcloud)1.springboot和springcloud的关系springboot单独存在的意义不大,独立运行、自动配置,完全是为了微服务框架而创建的,springcloud框架必须基于springboot工程才可以实现2.微服务框架2.1.什么是微服务当单体系统纵向拆分,拆分后的独立系统就叫微服务,每个微服务都专注一个功能领域,领域之间通过服务调用传递数...原创 2019-10-29 19:38:31 · 271 阅读 · 0 评论 -
springboot
springboot1.单体项目的其他问题1.1.功能的强耦合由于所有业务都在一个项目中,随着业务模块的增加,系统会变得越来越复杂,一旦某些功能存在强耦合,会造成开发人员必须精通多个业务模块逻辑,多个领域知识,不利于团队、人员配合,也不利于项目扩展需要将不同的功能和业务进行拆分,例如order-user项目,可以拆分为order和user两个项目,这样,order项目只关心和订单相关业务...原创 2019-10-29 19:31:54 · 219 阅读 · 0 评论 -
nginx
nginx1.什么是nginx早期由俄国团队开发与apache服务器抗衡的可以处理动静分离,处理负载均衡的http反向代理服务器。动静分离:动态资源访问tomcat,静态资源(html、css、js)可以存储在nginx中负载均衡:通过nginx决定访问的后端服务器逻辑2.什么是负载均衡负载:服务器承受的访问压力均衡:物理均衡:平均分配,每台机器分配都一样逻辑均衡:根据服务...原创 2019-10-29 19:25:01 · 139 阅读 · 0 评论 -
ER分片表
ER分片表1.ER分片表概念问题描述:例如有订单表和订单商品表,两个表都需要分片如果两个表的关联查询数据分到不同分片,则mycat关联查询时,无法拿到完整数据(不支持分库查)解决思路:将关联的商品和订单数据放入同一个分片,如何保证?可以利用外键字段(两个表的外键和主键字段内容相同)进行hash一致性计算,计算结果一致。ER分片表逻辑:er分片表是mycat首创先定义父级表...原创 2019-10-29 19:08:07 · 1004 阅读 · 1 评论 -
全局表
全局表1.全局表概念mycat不支持分库关联查询(分库关联查询效率很低)问题描述:商品表是分片表,会存入不同数据库,但是商品分类表数据量很少,只需要存入一个数据库即可,但是由于mycat不支持分库查询,所以,如果商品表和分类表的数据不在同一个库,那么将无法关联查询到完整数据解决思路:由于分类表数据量特别少,可以给每个分片都保存一份,这样,在关联查询时,每个分片都可以拿到完整数据–全局...原创 2019-10-29 19:05:55 · 1637 阅读 · 0 评论 -
mycat概述
mycat概述1.介绍mycat号称中国第一开源数据库中间件,京东,双11都在使用2.特点支持高性能的读写分离最大支持百亿(官方宣称千亿)级别的大表分片并行计算支持数据整合输入输出3.mycat原理客户端发起sql,mycat进行拦截,之后开启后端数据库的连接,重新组织sql(方言)。mycat执行逻辑:1.拦截sql2.计算分片,获取分片位置3.计算读写...原创 2019-10-29 19:00:49 · 255 阅读 · 0 评论 -
SpringCloudConfig概念
SpringCloudConfig概念1.介绍springcloudconfig是springcloud提供的一个共享配置的组件,可以实现从远程库读取配置文件,交给连接访问,根据读取文件的结构和规则,客户端可以选择使用那些配置。2.架构...原创 2019-10-29 18:40:10 · 237 阅读 · 0 评论 -
槽道原理
槽道原理1.槽道两个问题(1).怎么判断是不是自己的(2).怎么知道给谁2.槽道的组成部分1.判断数组 16384个二进制组成的数据,本质上是2048个byte数组,当数据进来时, 首先经过crc16()计算规则得到一个0-16383之间的数字(槽道号), 通过位移取到槽道号对应的元素(非1即0),如果是1,则说明自己管理,如果是0 ,则不是自己管理2.节点指向(索引)数组...原创 2019-10-28 19:49:16 · 471 阅读 · 0 评论 -
redis-cluster
redis-cluster1.介绍redis3.0出现的一个新的redis集群结构,引入了很多新的概念和逻辑,将之前学的主从复制,哨兵监听整合到了这个集群2.redis-cluster结构3.集群结构特点1.集群两两互联2.集群监听机制:主节点充当哨兵角色,一旦有主节点宕机,其他主节点进行投票选举3.客户端可以连接任意一个节点(主、从都可以),客户端向集群传输数据时,连接的节...原创 2019-10-28 19:03:09 · 165 阅读 · 0 评论 -
哨兵集群模式
哨兵集群模式1.介绍redis-cluster(redis3.0)出现之前,绝大部分redis使用的是哨兵集群,利用哨兵(redis进程)对主从结构监听,监听主,从主节点获取(info replication)从节点信息,保存在内存中,后续每一秒都会发起一次心跳检测(rpc远程协议),一旦发现主节点宕机,哨兵集群就会发起投票机制,通过过半选举出新的master.2.哨兵结构一个哨兵集群...原创 2019-10-28 19:00:02 · 599 阅读 · 0 评论 -
rabbitmq介绍
rabbitmq介绍RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,是企业级消息代理软件。AMQP:sun对消息队列提出的规范(定义了一堆接口)Erlang语言:一种并发语言(可以控制cpu核心线程资源),go语言也是并发语言。能将一个进程的并发性能处理到最强,Erlang语言是rabbit...原创 2019-10-28 18:53:04 · 271 阅读 · 0 评论 -
消息队列概述
消息队列概述1.消息队列的作用消峰限流:客户端\服务器与服务器之间通信时,可以通过消息队列实现高峰无法处理的海量并发缓存解耦:可以通过消息队列实现异步通信...原创 2019-10-28 18:39:14 · 131 阅读 · 0 评论