基于高并发的数据采集器
生活随笔
收集整理的這篇文章主要介紹了
基于高并发的数据采集器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據采集是當前很多智能設備都需要的。數據類型有很多種,有字符串,有json等等。交互協議有基于tcp的,有基于http的。現在針對原先項目面臨的問題做出解決方案。
2.面臨問題
1:并發量較低:原先項目采用裸寫nio的方式,由于java本身的nio bug以及有些地方寫的不太到位,單臺機器并發量在200左右
2:業務邏輯耦合度相對較高,可讀性差:由于很多地方采用字符串截取匹配來做路由的方式,存在很多的if else語句,導致可讀性差
3:未考慮到tcp粘包問題
4:經常使用的數據未考慮緩存,頻繁的mysql數據查詢導致效率地下。
解決方案:
先看架構圖
圖片中比較簡略的描述了數據流程,下面一步步介紹如何實現的。
所用技術介紹:
作為一個java工程師,spring 那一套是必須的
持久層mybatis,對于經常使用的數據用redis做緩存
控制層:springMvc
數據通信層:netty
服務治理:dubbo
負載均衡:nginx
項目骨架:maven
在接下來的文章中會對各個整合細節做出介紹
搭建步驟:
1:maven各個模塊創建
2:spring 整合mybatis redis
3:spring 整合 netty
4:spring 整合dubbo
5:路由分發器編寫
6:nginx做負載均衡
7:項目測試
總結
以上是生活随笔為你收集整理的基于高并发的数据采集器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 耳机原理图及放大原理原理图。
- 下一篇: 批量修改ppt字体大小及颜色