一直以来在学各种流行框架,比如Spring全家桶啊,Shiro啊,activiti,还有和各种中间件的整合
只管着学就完事儿了,但越学越迷茫,是时候做个阶段性的总结了
后端开发在我的理解,是书写跑在服务器端的程序,保证服务器能经受得起大量用户的访问,其本质就是对数据库的CRUD,以下用MySQL数据库为例,所有的框架,所有的中间件都服务于对数据库的增删改查操作
比如SSM框架,是对数据库最基础的操作(虽然很好用,但是直接对MySQL发送SQL语句,MySQL的处理能力是有上限的,当处理能力达到上限时,数据库系统就崩溃了),这是不可行的,于是出现了以下几种处理方案:
- 引入中间件来做缓冲
- 引入缓存中间件(代表为Redis)将常访问的数据存储到Redis上,减少SQL语句
- 引入消息中间件(代表为RabbitMQ)将异步任务进行削峰,分时区处理,防止MySQL处理大量SQL直接崩溃
- 引入检索中间件(代表为ElasticSearch)将查询的任务交给ES,减少SQL语句
- 部署MySQL集群,做负载均衡
至于Shiro,则是:你是否有权限去进行数据库的CRUD
而Activiti,底层则直接操作28张数据表