互联网流程框架

                                               互联网流程框架

现在一般的大公司整个部门由于要处理大量的数据,很多部门都是分开的。我们先来看下整体的业务流程

这是一些大公司的网络架构。一些中小型公司可能没有RPC微服务集群。因为没有特别大的性能开销,也可能没有nginx和系统

服务集群。

来说说开发网站的时候各个作用。

服务器:开发网站放在网络上需要有服务器的支持,所谓服务器,其实就是我们的电脑(当我们电脑安装服务器(tomcat)之后便

成了服务器。),是用来响应客户端的各种请求。只不过服务器可能是很多台。

ip:服务器搭建好了之后你想要别人可以搜索到你的网站,这时候需要有一个固定的ip。局域网分配的ip是经常变化的,不能当

作服务器的ip。而这个固定ip你是需要申请并购买的。你可以在移动、联通或者电信购买固定的ip。但是除非你有比较大的企业

或者国家支持(比如国家的高校,都会有一个ip)你才有机会分配一个固定的ip。否则你只能在一些代理商(腾讯,阿里巴巴等购

买固定ip)。我们所说的买服务器其实就是买ip,开发网站需要的jdk,tomcat,mysql数据库我们都可以在自己电脑上搭建好,

就是没有固定ip而已。买了人家的服务器,其实是代理商在他们的电脑上安装一个虚拟机。你操控人家的电脑,安装jdk,tomcat并

且给了你一个固定的i固定的ip

防火墙:是指阻拦外界请求的工具,对网站起到保护作用。可以给防火墙设置拦截,比如有人恶意的攻击你的网站,不断的

向服务器端发请求,这时候防火墙发现同一个ip不断访问,他会认为非法,然后会拒绝这个ip的访问。防止服务器端资源的浪费

再比如登陆学校的网站的教务系统。你需要用校园的内网才可以进入教务系统,而如果通过外网访问就会被防火墙拦截。这时候

需要进行身份验证, 通过vpn验证之后才能访问。

dns:域名,为什么要有域名这种东西,我们开发网站之后,需要申请个域名,别人访问域名,然后映射到你的ip地址。然后访

问到你的网站,这样就避免了访问网站的时候输入很长很长的ip。你搜索百度,直接www.baidu.com就ok,没有在地址搜索栏

搜索百度的ip地址吧。你的请求先发到dns,然后由dns解析,分析是你的服务器地址,再把请求发送到你的服务器上。当然这

是dns服务端需要做的事情,你不需要去理会。

nginx:如果我们的网站规模比较大的话,会很多的网络请求要我们处理。一个内存为8g的服务器一秒钟可以同时处理10个

请求。一天处理的请求是864000。也就意味着我们一台服务器可以支撑的请求顶多是十万个。那么如果数量级更多的话服务器

就会崩溃。这时候nginx就会发挥作用。nginx又称为负载均衡。他来拦截请求,然后分发给不同的服务器处理请求。这样就可

以实现高并发,一些大型网站(百度,淘宝,京东,腾讯)等都是采用nginx技术实现高并发。

系统集群和server服务集群:系统集群指获取请求的服务器,server服务集群指处理请求的服务器。你可能会好奇为什么要这

样把服务器划分,不就是获取请求然后处理么,为什么要分成获取请求的服务器和处理请求的服务器?其实这样分工合作还是为

了效率。如果没有server集群,会有很多重复的服务模块。以电商网站为例子。比如你需要对一种商品进行管理(处理添加请求

,购买请求等)。然后又有一个商品有需要添加类似的功能(添加购物车请求,购买请求等)你又需要实现对这种商品的管理。这

样是不是有很多相似功能却重复写了好多。但是如果有了server模块,就会省去很多麻烦。一个server就是一个功能模块。比

如是商品的购买的模块。这样在有新商品进来的时候直接需要实现什么功能走对应的服务模块就好。这种微服务模块形式又称

为RPC微服务。

cache集群:服务器端的RPC微服务中的cache集群是比较常见的形式。cache集群中Redis,它是一个高性能的key-value数据

库。可以在Redis存放用户的登录信息,这样客户在一定时间段的在登陆的时候,无论请求被打在了那个服务器,都会去找Redis

查看是否有这个用户的登陆信息,这样不需要用户再次登陆。不过为了安全性,服务器常常会在一段时间后清理用户的登陆信

息。如果用户活跃的话就会更新这个信息的过期时间。也可能在cache中存放访问量相对来说比较大的页面比如网站的主页。会

有很大的访问量。这时候把他放在服务器的cache集群。会大大提高访问的效率,也会大大减少服务器端的开销。

redis的数据是短暂性的存储在服务器的内存里。一旦服务器重启之后数据就会消失。当然可以把Redis的数据持久化,存储在

硬盘中。不过这并不是Redis的主要用途。

db数据库:数据库是一个网站最核心的部分,一旦数据库丢失那么损失将会是巨大的。数据库是网站最保密部分。对数据库

的保护尤为重要。数据库经常会备份。常用的方式有主从数据库和读写分离数据库。先来了解读写分离数据库:读写分离是指这

个网站有两个读数据库和写数据库。有数据更新之后会放在写数据库里,然后把写数据库的更新内容放在读书数据库里。这样访

问数据库的时候会访问读数据库的内容。有两份数据库会起到一定的保护作用。再来了解下主从数据库:访问数据库都是对主数

据库进行操作的。当有数据写入主数据库的时候,会把数据同步到从数据库。对数据库进行备份。当然如果你的数据比较宝贵,

网站比较大的话,你需要有多个从数据库。这会带来一定的开销。但对于保护数据库的安全性这点开销还是值得的。保险还是要

有的。需要注意的是这种主从数据库中的主数据库数据更新到从数据库更新并不是实时的,而是批量的,分时的更新数据。

你可能发现不同地区访问同一种资源显示结果不同,这是因为在不同地区的主数据库可能不一致。导致搜索结果不一致。当然有

可能是没有更新从数据库的原因。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值