【SpringCloud】(一)分布式理论
分布式架构理论
方法远程调用
各个模块运行于不同的tomcat,模块之间通过网络进行调用。

远程调用的技术演进
1 WebService
解决应用程序之间的跨平台访问问题,基于SOAP/WSDL协议,让应用程序之间可以远程访问。
2 Dubbo + Zookepper
Dubbo:基于RPC的程序远程调用框架
Zookeeper:基于树形目录结构、异步通知机制的注册中心。
SOA与微服务
SOA
SOA全称Service Oriented Architecyure(面向服务架构),即在同一个系统中将相同的功能抽取出来,作为一个服务供其他模块使用。

服务消费者与提供者:

微服务
微服务在SOA引进,强调独立可部署
SpringBoot与SpringCloud
SpringBoot
开发微服务,使用场景启动器(starter)快速整合第三方中间件
SpringCloud
提供的微服务服务架构的一站式解决方案快速整合第三方中间件
Eureka:注册中心
Ribbon:客户端负载均衡
Feign:远程接口调用
Hystrix:服务的熔断、降级、监控
Zuul:网关
注册中心
远程接口调用之所以能够实现,就是因为Dubbo或者Feign这样的框架把服务的具体信息存入了注册中心,对程序员在上层具体编写代码屏蔽了细节。

缺点
数据不一致问题:
session不一致问题
分布式事务问题
分布式与集群的区别
分布式与集群都需要多台服务器,区别在于分布式每个服务器运行的模块不同但是集群是相同的。
【SpringCloud】(一)分布式理论的更多相关文章
- 【转】分布式理论-CAP理论
一 CAP理论简述 CAP (Consistency, Availability, Partition Tolerance,) 理论是NoSQL数据库管理系统构建的基础. 强一致性:等同于所 ...
- 分布式理论——从ACID到CAP再到BASE
在传统的数据中,有ACID四大原则,在分布式中也有对应的CAP理论和BASE理论,这些都是分布式理论的基础. 更多内容参考:大数据学习之路 ACID ACID分别是Atomicity 原子性.Cons ...
- 分布式理论(二)——Base 理论
前言 在前文 分布式理论(一) -- CAP 定理 中,我们说,CAP 不可能同时满足,而分区容错是对于分布式系统而言,是必须的.最后,我们说,如果系统能够同时实现 CAP 是再好不过的了,所以出现了 ...
- 分布式理论系列(三)ZAB 协议
分布式理论系列(三)ZAB 协议 在学习了 Paxos 后,接下来学习 Paxos 在开源软件 Zookeeper 中的应用. 一.Zookeeper Zookeeper 致力于提供一个高性能.高可用 ...
- 分布式理论系列(二)一致性算法:2PC 到 3PC 到 Paxos 到 Raft 到 Zab
分布式理论系列(二)一致性算法:2PC 到 3PC 到 Paxos 到 Raft 到 Zab 本文介绍一致性算法: 2PC 到 3PC 到 Paxos 到 Raft 到 Zab 两类一致性算法(操作原 ...
- 分布式理论系列(一)从 ACID 到 CAP 到 BASE
分布式理论系列(一)从 ACID 到 CAP 到 BASE 一.ACID 1.1 事务的四个特征: (1) Atomic(原子性) 事务必须是一个原子的操作序列单元,事务中包含的各项操作在一次执行过程 ...
- Apache ZooKeeper原理剖析及分布式理论名企高频面试v3.7.0
概述 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 Apache ZooKeeper官网 https://zookeeper.apache.org/ 最新版本3.7.0 ...
- 分布式理论之一:Paxos算法的通俗理解
维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递且具有高度容错特性 ...
- SpringCloud的分布式配置及消息总线
1.在搭建分布式配置时,我们大概看下分布式配置的流程 如图所示: 当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现 ...
- 分布式理论 之 CAP 定理
-----------------------------------------------------入巷间吃汤面 笑看窗边飞雪. 目录: 什么是 CAP 定理 为什么只能 3 选 2 能不能解决 ...
随机推荐
- 弹框table
<template> <div> <el-dialog :title="title" :visible.sync="dialogVisibl ...
- Java中多态相关知识点
多态 1.多态概述 同一个对象在不同时刻表现出的不同形态 多态的前提和体现: 有继承/实现关系 有方法重写 有父类引用指向子类对象(Animal a = new Cat();) 2.多态中的成员访问特 ...
- vscode设置终端主题,设置终端选中颜色
vscode定义主题色官网: https://code.visualstudio.com/api/references/theme-color#integrated-terminal-colors 问 ...
- Android 自定义SeekBar (一)
一.前言 巩固自定义view基础用,本次尝试构建一个拖动条组件.代码参考于 https://github.com/woxingxiao/BubbleSeekBar ,精简其中高度可重用的部分,仅保留基 ...
- 【原创】GmSSL Android库编译
相关内容: GmSSL Linux编译 环境搭建 重要 用编译方法2编译出的库,集成到工程之后,发现报 incompatible target错误,各种找不到定义.32位和64位都不行. 如果你也遇到 ...
- h5移动端开发经验积累篇
h5键盘控制 const el = document.documentElement || document.body const originHeight = el.clientHeight win ...
- ORACLE 去重
-----------------------------------------------------------------------------模拟数据------------------- ...
- 修改密码 MVC
控制器site public function actionPassword(){ $model = new PasswordForm(); /*判断请求属性 if ($request->isA ...
- 定制centos发行版
//轻量级Centos定制发行版==================================================================================== ...
- vue项目 - 自定义数字输入指令 | 限制自定义小数位输入
1.在main.js中直接加入代码: import Vue from 'vue' Vue.directive("input-limit", { bind(el, binding) ...