前后端分离原则

这个时候我们来看微服务架构的第二个原则,是前后端分离原则,其实前后端分离原则非常好理解,

把前端这一部分的技术呢,分离出来,前后端通过调用服务的接口,来完成数据的传输,后端提供数据,

前端拿到数据以后,完成视图的一个渲染,完成视图的一个形式,我们来看一下,为何要做前后端分离呢,

很多人不是说前后端本来不就是分离的吗,其实不是这样的,要从尴尬的JSP讲起,分工精细化从来都是蛋糕

做大的原则,多个领域的工程师最好在不需要接触其他领域知识的情况下去合作,这样才能使效率越来越高,

维护起来也变得更简单,jsp的模板技术融合了html和java代码,使得传统的MVC开发变得如胶似漆,前端做好页面,

后端转化成模板,发现问题再找前端,前端又看不懂JAVA代码,久了就恶性循环,那么前后端的目的就是打破这样一个

尴尬的局面的,其实我们做单体架构项目的时候呢,我单体项目当中呢,没有办法去实现前后端分离的,因为视图层

JSP也是服务端的技术,在这里既要写HTML的东西,我要去做数据的渲染,所以在我们单体项目架构里面,这个时候前后端

是耦合,没有分离概念的一个体现,那么前后端分离的原则,简单的来讲就是前端和后端代码的分离,我们推荐的模式

物理分离的方式,物理分离的方式部署,进一步促使彻底的分离,如果继续使用服务端的模板技术,jsp,他把JAVA,js,html,

css,都堆放到一个页面里,那么这个时候稍微复杂一点的页面就无法维护了

我们来看一下前后端分离的图,浏览器直接去请求我们的服务,我们去做数据的采集,然后将采集到的数据呢,

渲染到我们的视图当中,然后将视图返回给客户端,是我们单体架构的一个特点,但是现在呢,我们想做前后端

分离呢,中间就得加一层了,在浏览器和服务端之间,在我们的后台服务之间,加一个前端服务,这个前端服务的

作用呢,就这么几点,第一处理客户端的请求,并且给客户端一个响应,这是前端服务器处理的第一件事,第二件事是

什么呢,根据客户端所发送的请求,去调用后端服务端的接口,来做数据采集,这是他做的第二件事,第三件事,将采集到的

数据,渲染到模板当中,视图当中,然后将视图返回给客户端浏览器,我们就是通过搭建前端服务的方式,来实现前端和

后台服务端的一个分离,其实我这么一说大家并不是很陌生,如果做过电商项目的时候,其实可以发现,我们电商项目的

设计呢,就具备前后端分离的设计了,我们回顾一下,在我们的电商系统当中,有订单服务,其实像门户首页,还有订单系统,

都属于前端服务,为什么这么说呢,在这里包含了大量的首页和展示信息,但是本身不是做操作的一个服务,当我们去访问

首页的时候,首页当中的数据,其实是通过前端服务,前端服务又去调用我们的后端服务,比如我们有一个Rest服务,而Restful

才去操作数据库的,然后将Rest服务接收到的数据,返回到我们的项目当中,然后拿到返回的数据,再去做视图层的一个渲染,

然后将结果返回给我们客户端浏览器,其实我们的订单项目,其实前后端分离出来的前端服务,我们的Rest服务就是我们服务端,

这种分离有这么几种好处,第一个前后端服务分离,由各自的专家对各自的领域进行优化,这样前端的用户体验,优化效果会更好,

第二个分离模式下,前后端交互的页面会更加的清晰,就剩下了接口模型,后端的接口简单明了,前端多场景渠道更容易实现,后端

服务无需做变更,采用统一的数据和模型,例如微信的前端,PC的前端,安卓的前端,IOS前端,我们之前在讲电商的时候,也画了这个

设计图了,在这个设计图上,我们也可以看到,其实是有很多前端的系统在做服务,只是当时我们在做PC端的,如果你再有微端的,

安卓端的,你只要构建前端服务就可以了,虽然前端对于数据的渲染是不一样的,但是需要拿到的后台数据是一样的,所以通过看这样的

一个设计呢,我们就可以很直观的去体会到,前后端分离所带来的方便之处,所以前后端分离原则呢,也是比较简单的,因为我们之前项目

中也用过了,只是我们当时可能并不太明白,为什么要这么设计,通过前后端分离的原则,做了一下详解,我们的电商项目为什么要采用

这种架构方式,其实就是为了做到前后盾分离的效果,我们主要讲了前后端分离的原则,这一块大家并不是很陌生

我们看微服务架构的第三个原则,就是这个无状态服务,那么大家对无状态服务比较陌生一些,那我们来看一下

什么是无状态服务原则,首先我们来了解一下什么是无状态服务,对于无状态服务呢,首先说明一下,首先说什么

是状态,如果一个数据需要被多个数据共享,才能完成一笔交易,那么这个数据就被称之为状态,其实状态指的是什么呢,

就是我们的数据,进来依赖这个状态数据的服务,被称之为有状态的服务,反之称之为无状态服务,这回我们再来看这个图

我们这个图我们看一下,中间有一个分割线,在分割线的左右两侧,无状态业务计算服务,一个是有状态数据服务,

咱们就看后端业务微服务这一块,当这个服务计算完数据以后,不同的服务,比如分布式缓存服务,还有分布式数据服务,

还有分布式存储服务,其实右侧就是一个有状态服务,是这样的,那么左侧这个呢,他本身只是做了业务的一个计算,所以

左侧就是无状态的业务服务,其实大家看这个图其实挺抽象的,我们重新画一个图,其实对于无状态的服务,我们之前也

接触过,还是在我们的电商项目当中

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值