引言: 現(xiàn)如今作為一名Java開發(fā)工程師,不會點運維相關(guān)的技術(shù)都不好意思出去面試,本文是從0開始基于Docker搭建的Nginx,實現(xiàn)了Nginx的基本使用 (前提是需要懂一...

引言: 現(xiàn)如今作為一名Java開發(fā)工程師,不會點運維相關(guān)的技術(shù)都不好意思出去面試,本文是從0開始基于Docker搭建的Nginx,實現(xiàn)了Nginx的基本使用 (前提是需要懂一...
metaq是阿里團隊的消息中間件,之前也有用過和了解過kafka,據(jù)說metaq是基于kafka的源碼改過來的,他們之間的區(qū)別在哪里,接下來一探究竟。 由此實現(xiàn)一個重要的功能...
搶紅包大家都知道,但發(fā)出一個固定金額的紅包,由若干個人來搶,需要滿足哪些規(guī)則? 所有人搶到金額之和等于紅包金額,不能超過,也不能少于。 每個人至少搶到一分錢。 要保證所有人搶...
代碼見:https://github.com/giafei/mysql-binlog-watcher 這個組件基于一個很現(xiàn)實的需求,系統(tǒng)隨著業(yè)務發(fā)展而擴張時,總會碰到新業(yè)務需...
兄弟 面試題未完待續(xù)啊。。。。哈哈
java深入源碼級的面試題1.哪些情況下的對象會被垃圾回收機制處理掉? 對象不可達時會被標記回收,哪些可以作為GCRoot呢,虛擬機棧,方法區(qū)中類靜態(tài)屬性引用的對象,方法區(qū)中常量引用的對象,本地方法棧...
查看原文請點擊:原文地址 一、前情回顧上篇文章給大家聊了一下volatile的原理,具體參見:《大白話聊聊Java并發(fā)面試問題之volatile到底是什么?》。這篇文章給大家...
oracle不支持布爾類型,一般使用char(1),0-true,1-false 或者int表示
PostgreSQL筆記1.時間 四種方式查詢當前時間now() , current_date, current_time, current_timestamp, 其中now() 等同于 cur...
1.時間 四種方式查詢當前時間now() , current_date, current_time, current_timestamp, 其中now() 等同于 cur...
1. 前言 BlockingQueue即阻塞隊列,它是基于ReentrantLock,依據(jù)它的基本原理,我們可以實現(xiàn)Web中的長連接聊天功能,當然其最常用的還是用于實現(xiàn)生產(chǎn)者...
BASE理論
BASE是Basically Available(基本可用)、Soft state(軟狀態(tài))和Eventually consistent(最終一致性)三個短語的縮寫。BASE理論是對CAP中一致性和可用性權(quán)衡的結(jié)果,其來源于對大規(guī)模互聯(lián)網(wǎng)系統(tǒng)分布式實踐的總結(jié), 是基于CAP定理逐步演化而來的。BASE理論的核心思想是:即使無法做到強一致性,但每個應用都可以根據(jù)自身業(yè)務特點,采用適當?shù)姆绞絹硎瓜到y(tǒng)達到最終一致性。接下來看一下BASE中的三要素:
1、基本可用
基本可用是指分布式系統(tǒng)在出現(xiàn)不可預知故障的時候,允許損失部分可用性----注意,這絕不等價于系統(tǒng)不可用。比如:
(1)響應時間上的損失。正常情況下,一個在線搜索引擎需要在0.5秒之內(nèi)返回給用戶相應的查詢結(jié)果,但由于出現(xiàn)故障,查詢結(jié)果的響應時間增加了1~2秒
(2)系統(tǒng)功能上的損失:正常情況下,在一個電子商務網(wǎng)站上進行購物的時候,消費者幾乎能夠順利完成每一筆訂單,但是在一些節(jié)日大促購物高峰的時候,由于消費者的購物行為激增,為了保護購物系統(tǒng)的穩(wěn)定性,部分消費者可能會被引導到一個降級頁面
2、軟狀態(tài)
軟狀態(tài)指允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),并認為該中間狀態(tài)的存在不會影響系統(tǒng)的整體可用性,即允許系統(tǒng)在不同節(jié)點的數(shù)據(jù)副本之間進行數(shù)據(jù)同步的過程存在延時
3、最終一致性
最終一致性強調(diào)的是所有的數(shù)據(jù)副本,在經(jīng)過一段時間的同步之后,最終都能夠達到一個一致的狀態(tài)。因此,最終一致性的本質(zhì)是需要系統(tǒng)保證最終數(shù)據(jù)能夠達到一致,而不需要實時保證系統(tǒng)數(shù)據(jù)的強一致性。
總的來說,BASE理論面向的是大型高可用可擴展的分布式系統(tǒng),和傳統(tǒng)的事物ACID特性是相反的,它完全不同于ACID的強一致性模型,而是通過犧牲強一致性來獲得可用性,并允許數(shù)據(jù)在一段時間內(nèi)是不一致的,但最終達到一致狀態(tài)。但同時,在實際的分布式場景中,不同業(yè)務單元和組件對數(shù)據(jù)一致性的要求是不同的,因此在具體的分布式系統(tǒng)架構(gòu)設(shè)計過程中,ACID特性和BASE理論往往又會結(jié)合在一起。
Java帝國之分布式事務解決方案1 前情提要 上回說到IO大臣一直被JDBC大臣打壓, 為了搞掉JDBC大臣, 他忍辱負重、歷經(jīng)千辛萬苦終于搞出了分布式事務的標準Java Transaction API,...
1 前情提要 上回說到IO大臣一直被JDBC大臣打壓, 為了搞掉JDBC大臣, 他忍辱負重、歷經(jīng)千辛萬苦終于搞出了分布式事務的標準Java Transaction API,...
MQ應用場景介紹: 1.異步處理2.應用解耦3.流量削峰4.日志處理 RabbitMQ的安裝(Windows版本),Linux需要下載linux相應的安裝包 1.官網(wǎng)下載地址...
常用定時任務框架有Quartz和Spring提供的@Schedule注解,兩者都使用了Cron表達式,下面詳細講解下Cron的語法規(guī)則:Cron支持7個域,分別是:秒 分 時...
原文地址: www.cnblogs.com/JavaArchitect/p/10011253.html 在上周,我密集面試了若干位Java后端的候選人,工作經(jīng)驗在3到5年間。...