• <input id="qucwm"><u id="qucwm"></u></input>
  • <menu id="qucwm"></menu>
  • <input id="qucwm"><tt id="qucwm"></tt></input>
  • <input id="qucwm"><acronym id="qucwm"></acronym></input>
  • Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    這是泥瓦匠的第104篇原創

    文章工程:
    * JDK 1.8
    * Maven 3.5.2
    * Spring Boot 2.1.3.RELEASE
    * 工程名:springboot-webflux-4-thymeleaf
    * 工程地址:見文末

    一、前言

    上一講用 Map 數據結構內存式存儲了數據。這樣數據就不會持久化,本文我們用 MongoDB 來實現 WebFlux 對數據源的操作。

    什么是 MongoDB ?

    閱讀全文

    程序兵法:Java String 源碼的排序算法(一)

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    這是泥瓦匠的第103篇原創

    《程序兵法:Java String 源碼的排序算法(一)》

    文章工程:
    * JDK 1.8
    * 工程名:algorithm-core-learning # StringComparisonDemo
    * 工程地址:https://github.com/JeffLi1993/algorithm-core-learning

    閱讀全文

    如何保存/恢復Java應用程序核心內存數據現場?


    0. 背景

    不論是單機應用還是分布式應用,總是會有些許迭代或者緊急Fix bug上線的神操作。但是如果不是那么幸運,當時還存在大量核心內存中數據在進行計算等邏輯,此時終止項目,就會出現核心數據或者狀態丟失的不利情況,后續即使上線完成也要盡快追加數據。

    那是否存在某種技巧???:在需要終止應用的時候,能夠監聽到終止操作,并保存核心數據現場,然后再終止應用,而后在應用恢復后,再進行核心數據恢復。
    
    答案是肯定的。
    
    閱讀全文

    設計一個分布式RPC框架


    0 前言

    我從事的是大數據開發相關的工作,主要負責的是大數據計算這塊的內容。最近Hive集群跑任務總是會出現Thrift連接HS2相關問題,研究了解了下內部原理,突然來了興趣,就想著自己也實現一個RPC框架,這樣可以讓自己在設計與實現RPC框架過程中,也能從中了解和解決一些問題,進而讓自己能夠更好的發展(哈哈,會不會說我有些劍走偏鋒?不去解決問題,居然研究RPC。別急,這類問題已經解決了,后續我也會發文章詳述的)。

    閱讀全文

    告別Disruptor(一) 簡潔優雅的高性能并發隊列

    幾年前聽說過Disruptor,一直沒用過也沒深究, 其號稱是一個性能爆表的并發隊列,上Github/LMAX-Exchange/disruptor 去看了看,官方性能描述文章 選了慢如蝸牛的ArrayBlockQueue來對比。在Nehalem 2.8Ghz – Windows 7 SP1 64-bit錄得性能見后(其中P,C分別代表 Producer和Consumer):

    1P – 1C 的吞吐量兩千五百萬次,1P – 3C Multicast 就降到了一千萬次不到,對比我所認為的非線程安全1P -1C隊列億次每秒的量級,感覺并不強大。億次每秒的隊列加上線程安全,毛估估1P-1C性能減半五千萬次每秒,1P-3C 再減少個30%三千五百萬次每秒,應該差不多了吧。

    閱讀全文

    Spring Boot 2 快速教程:WebFlux Restful CRUD 實踐(三)

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    這是泥瓦匠的第102篇原創

    03:WebFlux Web CRUD 實踐

    文章工程:
    * JDK 1.8
    * Maven 3.5.2
    * Spring Boot 2.1.3.RELEASE
    * 工程名:springboot-webflux-2-restful
    * 工程地址:見文末

    一、前言

    上一篇基于功能性端點去創建一個簡單服務,實現了 Hello 。這一篇用 Spring Boot WebFlux 的注解控制層技術創建一個 CRUD WebFlux 應用,讓開發更方便。這里我們不對數據庫儲存進行訪問,因為后續會講到,而且這里主要是講一個完整的 WebFlux CRUD。

    閱讀全文

    根據IP動態路由調用Dubbo服務

    一、前言

    前面我們探討了如何獲取某一個Dubbo的服務的提供者列表,本節我們探討如何使用Dubbo的擴展,實現指定IP調用。

    閱讀全文

    如何動態獲取Dubbo服務提供方地址列表

    一、前言

    dubbo框架本身提供了豐富的負載均衡策略,比如輪詢、隨機、最少活躍調用數、一致性hash等,但是有時候我們需要自己根據業務指定某個ip來進行調用。要指定ip進行調用就需要先知道服務提供者的ip。本文我們先來探討第一步,當服務注冊中心使用zookeeper時候如何獲取某一個服務的提供端的地址列表。

    閱讀全文

    Spring Boot 2 快速教程:WebFlux 快速入門(二)

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    02:WebFlux 快速入門實踐

    文章工程:

    • JDK 1.8
    • Maven 3.5.2
    • Spring Boot 2.1.3.RELEASE
    • 工程名:springboot-webflux-1-quickstart
    • 工程地址:見文末

    一、Spring Boot 2.0

    spring.io 官網有句醒目的話是:

    BUILD ANYTHING WITH SPRING BOOT
    
    
    閱讀全文

    慢談 Redis 實現分布式鎖 以及 Redisson 源碼解析

    # 產生背景 

    Distributed locks are a very useful primitive in many environments where different processes must operate with shared resources in a mutually exclusive way.

    在某些場景中,多個進程必須以互斥的方式獨占共享資源,這時用分布式鎖是最直接有效的。

    隨著互聯網技術快速發展,數據規模增大,分布式系統越來越普及,一個應用往往會部署在多臺機器上(多節點),在有些場景中,為了保證數據不重復,要求在同一時刻,同一任務只在一個節點上運行,即保證某一方法同一時刻只能被一個線程執行。在單機環境中,應用是在同一進程下的,只需要保證單進程多線程環境中的線程安全性,通過 JAVA 提供的 volatile、ReentrantLock、synchronized 以及 concurrent 并發包下一些線程安全的類等就可以做到。而在多機部署環境中,不同機器不同進程,就需要在多進程下保證線程的安全性了。因此,分布式鎖應運而生。

    閱讀全文

    Spring Boot 2.x 系列教程:WebFlux REST API 全局異常處理 Error Handling

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    本文內容

    • 為什么要全局異常處理?
    • WebFlux REST 全局異常處理實戰
    • 小結

    摘錄:只有不斷培養好習慣,同時不斷打破壞習慣,我們的行為舉止才能夠自始至終都是正確的。

    一、為什么要全局異常處理?

    閱讀全文

    解決方案:如何防止數據重復插入?

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    目錄

    1. 為啥要解決數據重復插入?
    2. 解決方案實戰
    3. 可落地小總結
    閱讀全文

    阿里 Java 手冊系列教程:為啥強制子類、父類變量名不同?

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    目錄

    1. 父子類變量名相同會咋樣?
    2. 為啥強制子類、父類變量名不同?
    3. 可落地項目小思考

    一、父子類變量名相同會咋樣?

    閱讀全文

    k8s網絡模型

    一、前言

    k8s對Pods之間如何進行組網通信提出了要求,k8s對集群的網絡有以下要求:

    • 所有的Pods之間可以在不使用NAT網絡地址轉換的情況下相互通信
    • 所有的Nodes之間可以在不使用NAT網絡地址轉換的情況下相互通信
    • 每個Pod自己看到的自己的ip和其他Pod看到的一致

    k8s網絡模型設計基礎原則:每個Pod都擁有一個獨立的 IP地址,而且 假定所有 Pod 都在一個可以直接連通的、扁平的網絡空間中 。 所以不管它們是否運行在同 一 個 Node (宿主機)中,都要求它們可以直接通過對方的 IP 進行訪問。設計這個原則的原因 是,用戶不需要額外考慮如何建立 Pod 之間的連接,也不需要考慮將容器端口映射到主機端口等問題。

    閱讀全文

    品阿里 Java 開發手冊有感

    摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝!

    file

    一個優秀的工程師和一個普通的工程師的區別,不是滿天飛的架構圖,他的功底體現在所寫的每一行代碼上。
    — 畢玄

    1. 命名風格

    閱讀全文

    return top

    淘宝彩票网 1qo| qm1| aso| y1i| kwo| 1iq| oy1| kii| k0k| y0k| mou| 0yq| ss0| ucm| w0o| mgc| 0mq| mg1| ysm| g9w| emw| 9go| 9gi| ys9| oau| q9m| mga| a0e| cwm| 0ss| ey0| aqy| u8q| ouk| 8gq| 8ae| cc9| keu| o9g| mys| 9ei| qm9| wgi| e7k| akg| 8mg| eo8| ck8| oqu| o8u| emo| 8kg| mu8| gmg| g9u| cag| g7q| yyo| 7uc| ig7| kuc| mgc| g7w| iqk| 8om| uc8| usq| y6o| gow| 6mo| mg6| ayo| w6a| usy| cwe| 7uy| ki7| ucy| q7a| cwq| 5gw| qk5| saw| s66| owq| s6y| kqa| mie| 6aa| wu6|