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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 快速学习互联网基础架构演进(2)

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

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


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

 

内容介绍

一、课程介绍

二、正向代理与反向代理

三、具体操作

 

一、课程介绍

只能解析一个服务器,一个IP,比方说现在 abc.com,原先想让他访问123,这三个服务器,我们解析ip只能访问一个,那我们能不能解析的时候能不能不是只解析一个,解析到一个中间值,我们直接访问中间值,然后中间值可以去访问三个IP,各找一个,将寻找IP转给中间值取处理,从哪取出数据,再把反馈值返回去,如果说1号服务器出现问题,那么久终止,然后选择2号服务器,等待返回,这样就可以达到。

一个机器坏了,其他的也可以正常访问,这是解决思路,这个思路叫做负载均衡,又可以称作反向代理。

有了反向代理,那么也就会有正向代理。

 

二、正向代理与反向代理

正向代理就是我们常用的 VPN 俗称的翻墙,我们告诉 VPN,我们要去访问谷歌,那么 VPN 就带我们去访问谷歌,已经告知了目的地,这就是正向代理;相应的谷歌也有很多服务器,那么这个时候就需要谷歌来帮我们找到相对应的服务器,这个也就是反向代理。

还可以用面试说话举例子,我们去百度面试,跟司机说去百度,然后司机把你送到百度,这就是正向代理,然后去了公司哪一个面试官面试你这个是不知道的,那么百度公司就会给你安排,这个就是反向代理。

 

三、具体操作

然后我们打开虚拟机,我已经配置了两个 tomcat,都跑着两个一样的程序,叫做测试集群,不一样的地方只在于服务器名字,都是去爬取线上id,两个程序同时运行,就相当于l多个用户访问,我们去看一下网站,然后访问服务器,就可以看到此时是服务器11111,另外一个访问服务器是22222,这两个服务器是一样的程序,但是同时运行就相当于,在某天有一个服务器坏掉了,另外一个服务器仍然可以继续处理任务,这两个是一个集群。

如果说我们一定要去访问某一个地址,那么就需要一个配置文件,nginx,这个是一个反向代理的服务器,可以帮我们去配置一个文件,然后进行安装后,启用这个终端,然后我们就可以去通过网站去访问端口号,这个时候 nginx 就代表启动成功了,如果说在后面加一个 tastcluster

然后是找不到的,我们只需要给 nginx 做一个反向代理的配置,找到一个nginx.conf的文件,打开后,在文件里面带#的是注释,在没有#sever 里面,找到 location,然后再后面加一行代码,proxy_pass https://192.168.30.239:9080

然后保存文件,保存之后要重新启动一次, # nginx·s reload,没有报错,启动成功,然后重新访问,打开后得到现在所访问的服务器是11111,无论怎样刷新都是11111,现在如果坏掉了,将11111修改一下,让他不能使用,再次查看服务器无法访问,那么还是没有解决问题,我们接下来重新启动,又可以访问了,如果我们重新启动还是11111,然后想让他访问22222,那么我们在配置文件里面写一个,定义一个地址组,相当于去打包一个文件,然后当某一一个服务器损坏时自行检索可以正常使用的服务器去连接。

定义组的代码:

Upstream suibianxie{

Server 192.168.30.239.8090;

Server 192.168.30.239.10080;

}

我们在 http 这个地方,定义一个名字,然后写好组之后,还要把后面的地方改掉,把地址替换成我们的组的名称,

前面的http//要在,然后终止 nginx,重新启动,然后访问网站,查看服务器,多次刷新发现服务器在不断的切换,这个时候就可以访问多个服务器,但是我们发现在我们访问的时候,域名是同一个,但是服务器名字后面的东西会变化,session 是放在 cookie 里面的,叫做 jsessionid,里面的值就是我们服务器名字后面的部分,不同的服务器的 session 是不一样的,因为服务器的不同,所以说 session也 是不同步的,很多人 session 存数据,如果说你在服务器存数据,检测到未登录,先跳转页面登录,那么当你切换服务器时,第二台服务器检测到你没有登陆记录,就需要你再次登录,当你用2返回的cookie跳转登录,但是登陆页面服务器1响应,那么此时,就会陷入一个死循环,一直无法登录,使用集群时,session 不能共享,

我们要解决这个问题,问题是我们的 session 在不同的服务器跳转,导致服务器没有接收信息,我们解决办法就是让服务器之间共享session或者让同一台设备运行时不跳跃服务器就可以了,两种方式解决,要么共享,要么避免跳转,怎样去实现。

首先第一种,同一台设备访问同一台服务器,需要负载均衡的算法,我们的 nginx 是有默认范围的,是有轮询的,我们可以指定 ip 去访问特定的服务器,加上 ip_hash;这样就可以了,然后我们重新启动 nginx,没有报错,正常运行,然后开始访问网站,一直查询到的都是22222号服务器,无论重新进入还是重新检索都是这里,相应的出现了问题,最开始的,如果22222服务器出现问题,那么我们就无法访问,然后配置文件会自行跳转服务器,但是有一个服务延迟,如果说在访问时,刚好出现问题,那么就会显示服务中断,虽然延迟,但是最后还是可以完成指令任务,但是在切换服务器时 session 还是会改变。

相关文章
|
8月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
196 0
|
23天前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
143 81
|
8月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
333 0
|
5月前
|
数据库 Java 数据库连接
Hibernate 实体监听器竟如魔法精灵,在 CRUD 操作中掀起自动化风暴!
【8月更文挑战第31天】在软件开发中,效率与自动化至关重要。Hibernate 通过其强大的持久化框架提供了实体监听器这一利器,自动处理 CRUD 操作中的重复任务,如生成唯一标识符、记录更新时间和执行清理操作,从而大幅提升开发效率并减少错误。下面通过示例代码展示了如何定义监听器类,并在实体类中使用 `@EntityListeners` 注解来指定监听器,实现自动化任务。这不仅简化了开发流程,还能根据具体需求灵活应用,满足各种业务场景。
52 0
|
5月前
|
NoSQL API 数据库
揭秘!Flask如何一键解锁RESTful API高效微服务?打造未来互联网架构的隐形力量!
【8月更文挑战第31天】本文介绍如何使用 Flask 构建高效且易维护的 RESTful 微服务,涵盖环境搭建、基本应用创建及代码详解。通过示例展示用户管理系统的 CRUD 操作,并讨论数据库集成、错误处理、认证授权、性能优化及文档生成等高级主题,助力开发者打造强大的后端支持。
84 0
|
5月前
|
边缘计算 安全 物联网
未来互联网架构的演变
【8月更文挑战第16天】随着科技的不断进步,互联网作为现代社会不可或缺的基础设施,其架构也在不断地发展与演变。本文将探讨未来互联网架构可能的变化方向,包括边缘计算、软件定义网络(SDN)、网络功能虚拟化(NFV)等技术趋势,以及这些技术如何影响互联网的稳定性、安全性和效率。同时,文章还将讨论这些变革对用户隐私保护和数据治理的潜在影响,并展望互联网架构的未来发展趋势。
|
5月前
|
设计模式 安全 网络安全
|
7月前
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
|
8月前
|
架构师 开发工具 C++
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
|
8月前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)