互联网基础架构演进(3)|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习互联网基础架构演进(3)

开发者学堂课程【基于 Zookeeper、Dubbo 构建互联网分布式基础架构互联网基础架构演进(3)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/635/detail/10161


互联网基础架构演进(3)

 

内容介绍

一、Session 共享

二、SOA 服务化架构

三、zookeeper 介绍

 

一、Session 共享

第二种我们进行共享,就是在 tomcat 里面,打开 conf 文件,找到 server.xml,然后就可以进行配置我们的文件,这里面有一个标签叫做 cluster,

找到这个标签,这个标签是被注释掉的,将所有的头文件的这个标签全部打开,打开之后,关掉 tomcat,然后进行重启,在重启之前,找到 webapps 并打开,然后找到web.xml 文件,然后在最下面标签处,输入,<distributable/>,然后把所有的 tomcat里面加上这个标签,然后确定之后全部关闭再重启这个,这个就叫做 session 共享。

 

session 共享的作用就是无论你在访问哪一个服务器,都能够在切换服务器的时候将session 复制过来,这样你在哪一个里面都能实现共享,避免了进入死循环的情况,此时无论使用哪一个服务器都可以使用同一个 session,但是不做演示,不推荐使用。

在同一个服务器,进行通信共享 session 的时候,需要发送请求,请求传输数据,但是我们知道,tomcat 并不是可以无限制发送请求的,只能发送一定数量的,如果过高占时间,占据负载,需要占据别人的时间去处理这个请求,如果说都这样去处理,每个服务器会收到大量请求,这样会满载,造成极大的负担,导致集群中服务器越多,相反的服务器的效率越低,导致违背了我们的初衷,要共享数据,要处理内部资源请求占比过多,正常来说服务器越多,成本越高,效率也应该越高,但是相应的却并不是这样,所以说,这样是不推荐的,不希望这个共享去占据内存消耗,而且容易在宕机的时候访问出错,使用轮询,并且再使用共享 session,那么我们就需要使用一个 redis ,来进行一个模拟,将第一台服务器的数据存储进去,然后由后面的服务器进行访问来轮询,提高效率的情况下还能实现 session 的共享,这是解决轮询的数据路线。

这个应用在所有的架构里面,无论是垂直架构还是MVC架构,只要是有服务器,就会做高可用,然后就会接好多机器,去完成同一个工作,用到集群就考虑到刚刚的情况。

 

二、SOA 服务化架构

微服务

MSA也是一种服务化架构风格,正流行 ing,服务划分

1.原子服务,粒度细;

2.独立部署,主要是容器;

MSA 与 SOA 的对比:

服务拆分粒度: soa首要解决的是异构系统的服务化,微服务专注服务的拆分,原子服务;

服务依赖: soa 主要处理已有系统,重用已有的资产,存在大量服务间依赖,微服务强调服务自治,原子性,避免依赖耦合的产生;

服务规模: soa 服务粒度大,大多数将多个服务合并打包,因此服务实例数有限,微服务强调自治,服务独立部署,导致规模膨胀,对服务治理有挑战;

架构差异:微服务通常是去中心化的,soa 通常是基于 ESB 的; !

服务治理:微服务的动态治理,实时管控,而soa通常是静态配置治理;

交付:微服务的小团队作战。

感觉在有了 docker 后,微服务这个概念突然火了起来,总结就是微服务+容器+DevOps.

 image.gif


三、zookeeper 介绍

现在主流的 SOA 服务架构,主要是在 RPC 上面多了一个服务治理中心,原理上还是redis。

治理中心也可以理解为是注册中心,运用一个 zookeeper,是一个集群的管理中心,用来帮我们管理分布式中所有的节点。

image.gif

zookeeper 怎么用,分布式系统就是同时跑着不同的程序,比方说一个用户管理,一个订单,一个商品,然后这三部分组合到一块就是一个系统,然后把他们拆分开就是分布式,我们需要相互间整合起来,相互间进行调用,通过网络进行整合调用,然后zookeeper 来进行一个管理,是一个管理中心,接下来进行一个简单的原理介绍。

我们使用过的滴滴打车,用来叫出租车,最终的目的是找到一个司机对应一个用户,然后我们就需要相互间有一个中间者来管理分配,然后就出现了滴滴打车,原理就是将所有的服务提供者与我们的消费者纳入同一个管理平台。

在我们的互联网中 zookeeper 就是这样一个管理平台的扮演者,同时作为管理者,我们不能有一些独立的东西存在,我们要使用 zookeeper 提供的服务,也就是说我们要遵守zookeeper 的协议,很多人有了需求,就出现了 double,这是一个阿里巴巴开源的服务,由 double 提供一个接口,将所有人的端口指令等待写入,然后 double 去完成这个转换,然后传给 zookeeper,这样只需要与 double 进行一个对接就可以了,这就是SOC中的一个服务治理——zookeeper。

我们怎样去搭建一个 zookeeper,只需要下载一个,官方最新版本,3.4.11,下载之后,进行解压,然后可以使用命令来打开,先查看所有的文件,然后创建一个 date 文件,查看 date 的地址,然后直接进行访问。

之后打开后进行修改 date 跟 client,默认281,数据路径默认/tmp,这是一个快捷保存目录,不要使用/tmp,现在将这个替换成刚刚保存的路径,然后进行保存,保存好后进行启动,确认启动后,我们的注册中心就创建好了并且启动起来了,之后进行一个交互,后面的课程会进行讲解。现在先搭建注册中心,其实 double 有一个这样的管理中心,我们先做起来。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
53 0
|
4月前
|
Java Docker 容器
美团大牛精心整理SpringBoot学习笔记,从Web入门到系统架构
近期慢慢复工,为了准备面试,各路码友们都开始磨拳擦脚,背面试题、知识点。小编最近得一良友赠送了一份关于SpringBoot的学习笔记,简直不要好用,理论解析言简意赅,每一步操作都有图片展示。这么好的东西肯定不能私藏,为了感谢大家在2019年里的支持,我现在将这份笔记赠送给大家,祝大家前程似锦,Offer不断!
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
103 0
|
29天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
52 0
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
67 1
|
1月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
785 0
|
1月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
39 1
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
42 0
|
1月前
|
负载均衡 算法 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
25 0
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
44 1