1. 程式人生 > >JAVA中高訪問量高併發的問題的一部分解決方案

JAVA中高訪問量高併發的問題的一部分解決方案

個人見解,希望大家多多提出意見

1.儘量使用快取技術來做。使用者快取、頁面快取等一切快取,使用特定的機制進行重新整理。利用消耗記憶體空間來換取使用者的效率。同時減少資料庫的訪問次數。

2.把資料庫的查詢語句進行優化,一般複雜的SQL語句就不要使用ORM框架自帶的做法來寫,採用自己來寫SQL,例如hibernate的hql中的複雜語句,就會很耗時

3.優化資料庫表的結構,在關鍵字、主鍵、訪問率極高的欄位中加入索引。但儘量只是在數字型別上面加。因為使用  欄位  is null的時候,索引的效果會失效

4.報表統計的模組,儘量採用定時任務執行,如果非得要實時進行重新整理,那麼可以採用快取來做資料。

5.可以使用靜態頁面的地方,使用靜態頁面,減少頁面解析時間,同時由於頁面中有許多圖片的這種,可以考慮一下把圖片做成一個伺服器,這樣可以減少業務伺服器的壓力。

6.使用叢集的方式來解決,單臺伺服器效能的問題。

7。把專案,拆分成為多個應用小型伺服器形式,來進行分散式部署。採用資料同步機制(可以使用資料庫同步形式來做)達到資料一致性。

8.使用負載均衡模式,來讓每一個伺服器資源進行合理的利用。

9.快取機制中,可以使用redis來做記憶體資料庫快取起來。也可以使用映象分擔,這樣可以讓兩臺伺服器進行訪問,提高伺服器的訪問量

相關推薦

JAVA中高訪問量併發的問題的一部分解決方案

個人見解,希望大家多多提出意見 1.儘量使用快取技術來做。使用者快取、頁面快取等一切快取,使用特定的機制進行重新整理。利用消耗記憶體空間來換取使用者的效率。同時減少資料庫的訪問次數。 2.把資料庫的查詢語句進行優化,一般複雜的SQL語句就不要使用ORM框架自帶的做法

JAVA架構師課程(大資料,分散式事物解決方案,大型網際網路專案,大型金融專案,併發叢集解決方案)實戰開發[技術 activeMQ,zookeeper,http,支付,團購,dubbox,stom]

在IT圈子裡,真正達到軟體架構師能力和水平的,一般的年薪在30-50w,甚至50w+,資深的或者高階的架構師,年薪在50-80萬,水平更高的,薪水也就更多了,可以稱得上是金領了。   因此,一直以來,有很多朋友都在朝軟體架構師這個方向努力發展。但由於沒有人領路,一些朋友

java系統併發解決方案

package com.jb.y2t034.thefifth.web.servlet;   import java.io.ByteArrayOutputStream;   import java.io.FileOutputStream;   import java.io.IOException;   impo

什麼是併發,併發解決方案

本人原創,轉載需說明文章出處          程式猿是門檻是越來越低,誰都可以寫程式碼,但是質量越來越堪憂,根本不會優化,專案一啟動,動不動一週就記憶體洩漏,連正常的訪問都無法滿足,談何高併發和壓力測試呢,說到併發,為什麼要學,併發程式設計

企業併發成熟解決方案思考

要想解決高併發的問題,先需要弄清楚企業整體架構 高併發發生在二處:1.負載均衡  2.資料庫處 分析完企業整體架構之後 1:開始搭建負載均衡伺服器 2:演示負載均衡伺服器的效果 第一種:解決方案    DNS 場景: 我說的大資料量處理是指同

海量資料併發解決方案

高併發的解決方案 1.應用和靜態資源分離 剛開始的時候應用和靜態資源是儲存在一起的,當併發量達到一定程度的時候就需要將靜態資源儲存到專門的伺服器中,靜態資源主要包括圖片、視訊、js、css和一些資原始檔等,這些檔案因為沒有狀態所以分離比較簡單,直接存放到響應的

併發簡單解決方案】redis快取佇列+mysql 批量入庫+php離線整合

需求背景:有個呼叫統計日誌儲存和統計需求,要求儲存到mysql中;儲存資料高峰能達到日均千萬,瓶頸在於直接入庫併發太高,可能會把mysql幹垮。 問題分析 思考:應用網站架構的衍化過程中,應用最新的框架和工具技術固然是最優選擇;但是,如果能在現有的框架的基礎上提

併發一致性解決方案

高併發場景有搶紅包,雙十一搶商品等。 如何去處理這些高併發場景呢? 1.從儲存介質考慮:有記憶體快取和磁碟快取,記憶體快取的速度是比磁碟快取要高出幾十倍的,因此可以考慮儲存介質在記憶體上。想象一下如果搶紅包的時候同時有2萬個請求到達伺服器,我相信使用資料庫來

大資料和併發解決方案總結

軟體剛開始的時候是為了實現功能,隨著資訊量和使用者的增多,大資料和高併發成了軟體設計必須考慮的問題,那麼大資料和高併發本質是什麼呢? 本質很簡單,一個是慢,一個是等。兩者是相互關聯的,因為慢,所以要等

Linux併發伺服器解決方案

Linux高併發伺服器案例演示 在網路通訊中,我們常常的伺服器經常會受到成千上萬的請求提示,而電腦會根據請求建立相對應的socket連結,但是接觸過Linux網路程式設計的人都知道,Linux連結和客戶端建立連線,會經過四步(這裡以TCP說明) 第一步,建立socket

【海量資料+併發】網路併發解決方案

從總體上來看 1.首先需要解決網路頻寬和Web請求的高併發,需要合理的加大伺服器和頻寬的投入,並且需要充分的利用系統中軟體、硬體的快取機制,將能快取的內容都進行快取儲存,減少計算層和儲存層的壓力。 2.其次需要對業務伺服器和業務支撐伺服器進行合理的分層,並且採用平行計

【佇列 併發java web瞬間併發解決方法

1、任何的高併發,請求總是會有一個順序的 2、java的佇列的資料結構是先進先出的取值順序 3、BlockingQueue類(執行緒安全)(使用方法可以百度) 一般使用LinkedBlockingQueue 利用以上幾點,我們可以把高併發時候的請求放入一個佇列,佇

併發解決方案—負載均衡—LVS搭建

首先這是一個簡單的架構圖:一、如圖,高併發可能發生的地方有兩處1、使用者請求應用時的負載均衡處,本文僅針對此處進行分析2、應用請求資料庫時,分析待續二、負載均衡處可能出現的問題,session共享問題解決方案:1、session可放在cookie中,但將seesion放瀏覽器

談談併發訪問解決方案

一個小型的網站,可以使用最簡單的html靜態頁面就實現了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網站對系統架構、效能的要求都很簡單。隨著網際網路業務的不斷豐富,網站相關的技術經過這些年的發展,已經細分到很細的方方面面,尤其對於大型網站來說,所採用的技

併發簡單解決方案】redis佇列快取 + mysql 批量入庫 + php離線整合--轉載

轉載自::轉載需求背景:有個呼叫統計日誌儲存和統計需求,要求儲存到mysql中;儲存資料高峰能達到日均千萬,瓶頸在於直接入庫併發太高,可能會把mysql幹垮。問題分析思考:應用網站架構的衍化過程中,應用最新的框架和工具技術固然是最優選擇;但是,如果能在現有的框架的基礎上提出簡

Java分散式系統併發解決方案

對於我們開發的網站,如果網站的訪問量非常大的話,那麼我們就需要考慮相關的併發訪問問題了。而併發問題是絕大部分的程式設計師頭疼的問題, 但話又說回來了,既然逃避不掉,那我們就坦然面對吧~今天就讓我們一起來研究一下常見的併發和同步吧。 為了更好的理解併發和同步,我們需要先明白兩個重要的概念:同步和非同步    1

java系統並發解決方案(轉載收藏)

說我 操作 動態 love 基礎上 iter() 差異 puts distrib 一個小型的網站,比如個人網站,可以使用最簡單的html靜態頁面就實現了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網站對系統架構、性能的要求都很簡單,隨著互聯網業務的不斷豐

Java並發編程與並發解決方案 視頻教程

ren 發布 優勢 一致性 原子 red 代碼 sync 可見性 第1章 課程準備 1-1 課程導學 1-2 並發編程初體驗 1-3 並發與高並發基本概念第2章 並發基礎 2-1 CPU多級緩存-緩存一致性 2-2 CPU多級緩存-亂序執行優化 2

併發解決庫存減為負的方案

1.資料庫查詢優化 要求庫存大於0的時候才可以執行更新操作 update miaosha_goods set stock_count = stock_count - 1 where goods_id = #{goodsId} and stock_count >

長文慎入-探索Java並發編程與並發解決方案

圖片 read something 處理器 images 為什麽 extern 分布 turn 所有示例代碼,請見/下載於https://github.com/Wasabi1234/concurrency #1 基本概念##1.1 並發同時擁有兩個或者多個線程,如果程序在單