一直以來在學各種流行框架,比如Spring全家桶啊,Shiro啊,activiti,還有和各種中間件的整合
只管着學就完事兒了,但越學越迷茫,是時候做個階段性的總結了
後端開發在我的理解,是書寫跑在服務器端的程序,保證服務器能經受得起大量用戶的訪問,其本質就是對數據庫的CRUD,以下用MySQL數據庫爲例,所有的框架,所有的中間件都服務於對數據庫的增刪改查操作
比如SSM框架,是對數據庫最基礎的操作(雖然很好用,但是直接對MySQL發送SQL語句,MySQL的處理能力是有上限的,當處理能力達到上限時,數據庫系統就崩潰了),這是不可行的,於是出現了以下幾種處理方案:
- 引入中間件來做緩衝
- 引入緩存中間件(代表爲Redis)將常訪問的數據存儲到Redis上,減少SQL語句
- 引入消息中間件(代表爲RabbitMQ)將異步任務進行削峯,分時區處理,防止MySQL處理大量SQL直接崩潰
- 引入檢索中間件(代表爲ElasticSearch)將查詢的任務交給ES,減少SQL語句
- 部署MySQL集羣,做負載均衡
至於Shiro,則是:你是否有權限去進行數據庫的CRUD
而Activiti,底層則直接操作28張數據表