1. 内容介绍
微信小程序是现在移动端最为流行的应用程序。微信小程序的开发可以分为两个部分,一个是前端小程序界面开发,一个是后端微信小程序对接的接口开发。那么今天,我们主要的目的就是研究面向微信小程序的本地环境。
2.了解前后端分离架构
前端任务:结构后端发送的数据,并且将数据渲染展示给用户看。
后端任务:接收前端的前端的请求,处理请求,响应请求,发送数据。
2.1 传统web开发
对于传统的Web应用开发来说,前端开发者需要开发前端网页,把前端的网页交给后端的开发人员。后端的开发人员通过一些模板引擎(jsp,thymeleaf等),展示数据。这样一来,后端的开发者也需要学习前端的基础知识。这样前后端的耦合性相对效高。
2.2前后端分离开发
前后端分离开发,前端开发者需要开发前端网页,并且将后端的数据渲染展示给用户看。而后端开发者则只用关注业务逻辑,将数据传给前端。其中数据传输结构一般是以json字符串的形式传输。区别于传统开发,前后端分离其实就是将数据渲染展示的任务交给了前端开发者。另外,前端是可以独立运行的。
3.小程序的后端开发
在web应用开发中,后端的开发主要用到两种语言分别是Java和PHP。Java主要运用在大型web应用的开发中,能后承载大量用户的访问,开发成本较高,开发时间较长;而php则使用在小型web应用的开发中,只能承载少量用户的访问,开发速度快,成本低。在这里我只对java后端的开发行进讲解。
3.1Java后端开发环境
在现在的后台环境开发中,主要采用的是微服务分布式架构。单体架构存在着很多的问题。
一、业务越来越复杂,单体应用的代码量越来越大,代码的可读性、可维护性和可扩展性下降,新人接手代码所需的时间成倍增加,业务扩展带来的代价越来越大。
二、随着用户越来越多,程序承受的并发越来越高,单体应用的并发能力有限。
三、测试的难度越来越大,单体应用的业务都在同一个程序中,随着业务的扩张、复杂度的增加,单体应用修改业务或者增加业务或许会给其他业务带来一定的影响,导致测试难度增加。
3.2微服务架构
微服务架构式一种风格。
将业务(service)变成一个模块。即一个业务为一个模块。
微服务架构:打破了之前的all in one架构模式,把每个功能元素都独立出来,把独立出来的功能元素动态组合,需要的功能元素才去组合起来。每个功能模块可以独立替换或者升级。
使用springboot可以快速的构建一个微服务,即一个个功能模块。
大型的网络服务的调用,则通过springCould实现,即实现分布式。
在分布式中间,进行流式数据计算、批处理,我们可以通过spring cloud data flow实现。
spring 帮我们整合和了开始构建到大型分布式应用全流程的方案。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5slAGa75-1613483056580)(面向微信小程序的后端本地环境研究.assets/clip_image002.png)]
3.3微服务架构的优点
优点
1、服务解耦
将原有的巨大的单体应用拆分为多个独立的微服务,使得每个服务更专注于自己的业务,满足高内聚低耦合的设计原则。比如将电商服务差费为用户服务、账户服务、商品服务、购物车服务、订单服务等。
2、独立的开发环境
将应用拆分为独立的微服务,服务之间彼此隔离,通过轻量级的通讯机制(比如:dubbo)进行交互,使得开发时无需关注具体的开发环境,只需要协商好通讯机制即可。
3、独立的部署环境
微服务拥有独立的开发环境,因此需要根据各自的开发环境规划部署环境,对于访问量大的服务可以增加服