日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

你花了多久弄明白架构设计?多个java应用同时访问数据库

發(fā)布時間:2023/11/30 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你花了多久弄明白架构设计?多个java应用同时访问数据库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

01 分布式限流:Nginx+ZooKeeper

1.1 分布式限流之Nginx

  • 請解釋一下什么是 Nginx?

  • 請列舉 x Nginx 的一些特性。

  • 請列舉 x Nginx 和 和 Apache 之間的不同點

  • 請解釋 x Nginx 如何處理 P HTTP 請求。

  • 在 x Nginx 中,如何使用未定義的服務器名稱來阻止處理請求?

  • 使用 “ 反向代理服務器 ”

  • 請列舉 x Nginx 服務器的最佳用途。

  • 請解釋 x Nginx 服務器上的 r Master 和 和 r Worker 進程分別是什么?

  • 請解釋你如何通過不同于 0 80 的端口開啟 Nginx?

  • 請解釋是否有可能將 x Nginx 的錯誤替換為 2 502 錯誤?

  • 在 x Nginx 中,解釋如何在 L URL 中保留雙斜線? ?

  • 請解釋 e ngx_http_upstream_module 的作用是什么?

  • 請解釋什么是 K C10K 問題?

  • 請陳述 s stub_status 和 和 r sub_filter 指令的作用是什么?

  • 解釋 x Nginx 是否支持將請求壓縮到上游?

  • 解釋如何在 x Nginx 中獲得當前的時間?

  • 用 x Nginx 服務器解釋s -s 的目的是什么?

  • 解釋如何在 x Nginx 服務器上添加模塊?

分布式限流之Nginx的答案解析如下:

for:Nginx+常見應用技術(shù)指南[Nginx++Tips]+第二版

1.2 分布式限流之ZooKeeper

  • ZooKeeper 是什么?

  • ZooKeeper 提供了什么?

  • Zookeeper 文件系統(tǒng)

  • 四種類型的 znode

  • Zookeeper 通知機制

  • Zookeeper 做了什么?

  • zk 的命名服務(文件系統(tǒng))

  • zk 的配置管理(文件系統(tǒng)、通知機制)

  • Zookeeper 集群管理(文件系統(tǒng)、通知機制)

  • Zookeeper 分布式鎖(文件系統(tǒng)、通知機制)

  • 獲取分布式鎖的流程

  • Zookeeper 隊列管理(文件系統(tǒng)、通知機制)

  • Zookeeper 數(shù)據(jù)復制

  • Zookeeper 工作原理

  • zookeeper 是如何保證事務的順序一致性的?

  • Zookeeper 下 Server 工作狀態(tài)

  • zookeeper 是如何選取主 leader 的?

  • 分布式通知和協(xié)調(diào)

  • 機器中為什么會有 leader?

  • zk 節(jié)點宕機如何處理?

  • Zookeeper 同步流程

  • zookeeper 負載均衡和 nginx 負載均衡區(qū)別

  • zookeeper watch 機制

分布式限流之ZooKeeper的答案解析如下

for:ZK開發(fā)手冊

02 分布式通訊:ActiveMQ+Kafka+RabbitMQ

2.1 分布式通訊之ActiveMQ

  • 什么是 ActiveMQ?

  • ActiveMQ 服務器宕機怎么辦?

  • 丟消息怎么辦?

  • 持久化消息非常慢

  • 消息的不均勻消費。

  • 死信隊列。

  • ActiveMQ 中的消息重發(fā)時間間隔和重發(fā)次數(shù)嗎?

分布式通訊之ActiveMQ的答案解析如下:

for:手寫RocketMQ筆記

2.2 分布式通訊之kafka

  • Kafka 的設計時什么樣的呢?

  • 數(shù)據(jù)傳輸?shù)氖挛锒x有哪三種?

  • Kafka 判斷一個節(jié)點是否還活著有那兩個條件?

  • producer 是否直接將數(shù)據(jù)發(fā)送到 broker 的 leader(主節(jié)點)?

  • Kafa consumer 是否可以消費指定分區(qū)消息?

  • Kafka 消息是采用 Pull 模式,還是 Push 模式?

  • Kafka 存儲在硬盤上的消息格式是什么?

  • Kafka 高效文件存儲設計特點:

  • Kafka 與傳統(tǒng)消息系統(tǒng)之間有三個關(guān)鍵區(qū)別

  • Kafka 創(chuàng)建 Topic 時如何將分區(qū)放置到不同的 Broker 中

  • Kafka 新建的分區(qū)會在哪個目錄下創(chuàng)建

  • partition 的數(shù)據(jù)如何保存到硬盤

  • kafka 的 ack 機制

  • Kafka 的消費者如何消費數(shù)據(jù)

  • 消費者負載均衡策略

  • 數(shù)據(jù)有序

  • kafaka 生產(chǎn)數(shù)據(jù)時數(shù)據(jù)的分組策略

分布式通訊之kafka的答案解析如下:

for:Kafka源碼解析與實戰(zhàn)

2.3 分布式通訊之RabbitMQ

  • RabbitMQ 中的 broker 是指什么?cluster 又是指什么?

  • 什么是元數(shù)據(jù)?元數(shù)據(jù)分為哪些類型?包括哪些內(nèi)容?與 cluster 相關(guān)的元數(shù)據(jù)有哪些?元數(shù)據(jù)是如何保存的?元數(shù)據(jù)在 cluster 中是如何分布的?

  • RAM node 和 disk node 的區(qū)別?

  • RabbitMQ 上的一個 queue 中存放的 message 是否有數(shù)量限制?

  • RabbitMQ 概念里的 channel、exchange 和 queue 這些東東是邏輯概念,還是對應著進程實體?這些東東分別起什么作用?

  • vhost 是什么?起什么作用?

  • 在單 node 系統(tǒng)和多 node 構(gòu)成的 cluster 系統(tǒng)中聲明 queue、exchange ,以及進行 binding 會有什么不同?

  • 客戶端連接到 cluster 中的任意 node 上是否都能正常工作?

  • cluster 中 node 的失效會對 consumer 產(chǎn)生什么影響?若是在 cluster 中創(chuàng)建了mirrored queue ,這時 node 失效會對 consumer 產(chǎn)生什么影響?

  • 能夠在地理上分開的不同數(shù)據(jù)中心使用 RabbitMQ cluster 么?

  • 為什么 heavy RPC 的使用場景下不建議采用 disk node ?

  • 向不存在的 exchange 發(fā) publish 消息會發(fā)生什么?向不存在的 queue 執(zhí)行consume 動作會發(fā)生什么?

  • routing_key 和 binding_key 的最大長度是多少?

  • RabbitMQ 允許發(fā)送的 message 最大可達多大?

  • 什么情況下 producer 不主動創(chuàng)建 queue 是安全的?

  • “dead letter”queue 的用途?

  • 為什么說保證 message 被可靠持久化的條件是 queue 和 exchange 具有durable 屬性,同時 message 具有 persistent 屬性才行?

  • 什么情況下會出現(xiàn) blackholed 問題?

  • 如何防止出現(xiàn) blackholed 問題?

  • Consumer Cancellation Notification 機制用于什么場景?

  • Basic.Reject 的用法是什么?

  • 為什么不應該對所有的 message 都使用持久化機制?

  • RabbitMQ 中的 cluster、mirrored queue,以及 warrens 機制分別用于解決什么問題?存在哪些問題?

分布式通訊之RabbitMQ的答案解析如下:

for:RabbitMQ實戰(zhàn)指南

03 分布式緩存:memcached+MongoDB+Redis

3.1 分布式緩存之memcached

  • memcached 是怎么工作的?

  • memcached 最大的優(yōu)勢是什么?

  • memcached 和服務器的 local cache (比如 PHP 的 的 APC 、mmap 文件等)相比,有什么優(yōu)缺點?

  • memcached 和 和 MySQL 的 的 query cache 相比,有什么優(yōu)缺點?

  • memcached 的 的 cache 機制是怎樣的?

  • memcached 如何實現(xiàn)冗余機制?

  • 我需要把 memcached 中的 item 批量導出導入,怎么辦?

  • memcached 如何處理容錯的?

  • 如何將 memcached 中 中 item 批量導入導出?

  • memcached 是如何做身份驗證的?

  • memcached 的多線程是什么?如何使用它們?

  • memcached 能接受的 key 的最大長度是多少?

  • memcached 對 對 item 的過期時間有什么限制?

  • memcached 最大能存儲多大的單個 item ?

  • 為什么單個 item 的大小被限制在 1M byte 之內(nèi)?

分布式緩存之memcached的答案解析如下:

3.2 分布式緩存之MongoDB

  • 你說的 NoSQL 數(shù)據(jù)庫是什么意思?NoSQL 與 RDBMS 直接有什么區(qū)別?為什么要使用和不使用NoSQL 數(shù)據(jù)庫?說一說 NoSQL 數(shù)據(jù)庫的幾個優(yōu)點?

  • NoSQL 數(shù)據(jù)庫有哪些類型?

  • MySQL 與 MongoDB 之間最基本的差別是什么?

  • 你怎么比較 MongoDB、CouchDB 及 CouchBase?

  • MongoDB 成為最好 NoSQL 數(shù)據(jù)庫的原因是什么?

  • 32 位系統(tǒng)上有什么細微差別?

  • journal 回放在條目(entry)不完整時(比如恰巧有一個中途故障了)會遇到問題嗎?

  • 分析器在 MongoDB 中的作用是什么?

  • 名字空間(namespace)是什么?

  • 如果用戶移除對象的屬性,該屬性是否從存儲層中刪除?

  • 能否使用日志特征進行安全備份?

  • 允許空值 null 嗎?

  • 更新操作立刻 fsync 到磁盤?

  • 如何執(zhí)行事務/加鎖?

  • 為什么我的數(shù)據(jù)文件如此龐大?

  • 啟用備份故障恢復需要多久?

  • 什么是 master 或 primary?

  • 什么是 secondary 或 slave?

  • 我必須調(diào)用 getLastError 來確保寫操作生效了么?

  • 我應該啟動一個集群分片(sharded)還是一個非集群分片的 MongoDB 環(huán)境?

  • 分片(sharding)和復制(replication)是怎樣工作的?

  • 數(shù)據(jù)在什么時候才會擴展到多個分片(shard)里?

  • 當我試圖更新一個正在被遷移的塊(chunk)上的文檔時會發(fā)生什么?

  • 如果在一個分片(shard)停止或者很慢的時候,我發(fā)起一個查詢會怎樣?

  • 我可以把 moveChunk 目錄里的舊文件刪除嗎?

  • 我怎么查看 Mongo 正在使用的鏈接?

  • 如果塊移動操作(moveChunk)失敗了,我需要手動清除部分轉(zhuǎn)移的文檔嗎?

  • 如果我在使用復制技術(shù)(replication),可以一部分使用日志(journaling)而其他部分則不使用嗎?

  • 當更新一個正在被遷移的塊(Chunk)上的文檔時會發(fā)生什么?

  • MongoDB 在 A:{B,C}上建立索引,查詢 A:{B,C}和 A:{C,B}都會使用索引嗎?

  • 如果一個分片(Shard)停止或很慢的時候,發(fā)起一個查詢會怎樣?

  • MongoDB 支持存儲過程嗎?如果支持的話,怎么用?

  • 如何理解 MongoDB 中的 GridFS 機制,MongoDB 為何使用 GridFS 來存儲文件?

分布式緩存之MongoDB的答案解析如下:

for:MongoDB權(quán)威指南

3.3 分布式緩存之Redis

  • redis 簡介

  • 為什么要用 redis /為什么要用緩存(高性能、高并發(fā))

  • 為什么要用 redis 而不用 map/guava 做緩存?

  • redis 和 memcached 的區(qū)別

  • redis 常見數(shù)據(jù)結(jié)構(gòu)以及使用場景分析(String、Hash、List、Set、Sorted Set)

  • redis 設置過期時間

  • redis 內(nèi)存淘汰機制(MySQL里有2000w數(shù)據(jù),Redis中只存20w的數(shù)據(jù),如何保證Redis中的數(shù)據(jù)都是熱點數(shù)據(jù)?)

  • redis 持久化機制(怎么保證 redis 掛掉之后再重啟數(shù)據(jù)可以進行恢復)

  • redis 事務

  • Redis 常見異常及解決方案(緩存穿透、緩存雪崩、緩存預熱、緩存降級)

  • 分布式環(huán)境下常見的應用場景(分布式鎖、分布式自增 ID)

  • Redis 集群模式(主從模式、哨兵模式、Cluster 集群模式)

  • 如何解決 Redis 的并發(fā)競爭 Key 問題

  • 如何保證緩存與數(shù)據(jù)庫雙寫時的數(shù)據(jù)一致性?

分布式緩存之Redis的答案解析如下:

for:Redis設計與實現(xiàn)

最后

本人也收藏了一份Java面試核心知識點來應付面試,借著這次機會可以免費送給我的讀者朋友們:

目錄:

Java面試核心知識點

一共有30個專題,足夠讀者朋友們應付面試啦,也節(jié)省朋友們?nèi)サ教幩压钨Y料自己整理的時間!

Java面試核心知識點

  • 如何保證緩存與數(shù)據(jù)庫雙寫時的數(shù)據(jù)一致性?

分布式緩存之Redis的答案解析如下:

[外鏈圖片轉(zhuǎn)存中…(img-tlHog3Kz-1625826465269)]

for:Redis設計與實現(xiàn)

[外鏈圖片轉(zhuǎn)存中…(img-6NFaFLyR-1625826465270)]

最后

本人也收藏了一份Java面試核心知識點來應付面試,借著這次機會可以免費送給我的讀者朋友們:

目錄:

[外鏈圖片轉(zhuǎn)存中…(img-oPs7SQIC-1625826465270)]

Java面試核心知識點

一共有30個專題,足夠讀者朋友們應付面試啦,也節(jié)省朋友們?nèi)サ教幩压钨Y料自己整理的時間!

[外鏈圖片轉(zhuǎn)存中…(img-J9qpknYw-1625826465271)]

Java面試核心知識點

資料的領取方式:點贊后【戳面試資料】即可免費獲取哦!

總結(jié)

以上是生活随笔為你收集整理的你花了多久弄明白架构设计?多个java应用同时访问数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。