原创 淺談分佈式消息技術 Kafka

Kafka的基本介紹Kafka是最初由Linkedin公司開發,是一個分佈式、分區的、多副本的、多訂閱者,基於zookeeper協調的分佈式日誌系統(也可以當做MQ系統),常見可以用於web/nginx日誌、訪問日誌,消息服務等等,Link

原创 最近很火的MySQL:拋開復雜的架構設計,MySQL優化思想基本都在這

優化一覽圖 優化 筆者將優化分爲了兩大類:軟優化和硬優化。軟優化一般是操作數據庫即可;而硬優化則是操作服務器硬件及參數設置。 1、軟優化 1)查詢語句優化 首先我們可以用EXPLAIN或DESCRIBE(簡寫:DESC)命令分析一條查詢語

原创 java程序員須知增量架構方法與系統構建

世界上大多數的應用程序,可能有90%,都是由單體結構(monolithic)完美地提供服務的。 Randy Shoup在Summit 2018年峯會上宣佈,爲了避免過度設計,我們應該從一個簡單的架構開始,並根據需要進行演進。在他最近發表的

原创 MySQL數據庫複製概論

每當我們討論一項(新的)領域技術的時候,最好的方式通常是首先拋出一些問題,這些問題大致分爲三類:誒?這項技術又是什麼玩意(What)?這項技術爲什麼會存在?我們已經有那麼多解決方案(Method)了,我們問什麼要用它(Why)?如果這項技術

原创 java框架之Spring 核心框架體系結構

很多人都在用spring開發java項目,但是配置maven依賴的時候並不能明確要配置哪些spring的jar,經常是胡亂添加一堆,編譯或運行報錯就繼續配置jar依賴,導致spring依賴混亂,甚至下一次創建相同類型的工程時也不知道要配置哪

原创 springboot整合Quartz實現動態配置定時任務

前言在我們日常的開發中,很多時候,定時任務都不是寫死的,而是寫到數據庫中,從而實現定時任務的動態配置,下面就通過一個簡單的示例,來實現這個功能。一、新建一個springboot工程,並添加依賴<dependency> <groupId>

原创 跟我一起造輪子 手寫springmvc

作爲java程序員,項目中使用到的主流框架多多少少和spring有關聯,在面試的過程難免會問一些spring springmvc spring boot的東西,比如設計模式的使用、 怎麼實現springioc  怎麼實現springmvc諸

原创 基於Netty的百萬級推送服務設計要點

1. 背景1.1. 話題來源最近很多從事移動互聯網和物聯網開發的同學給我發郵件或者微博私信我,諮詢推送服務相關的問題。問題五花八門,在幫助大家答疑解惑的過程中,我也對問題進行了總結,大概可以歸納爲如下幾類:1, Netty是否可以做推送服務

原创 從頭開始搭建一個dubbo+zookeeper平臺

本篇主要是來分享從頭開始搭建一個dubbo+zookeeper平臺的過程,其中會簡要介紹下dubbo服務的作用。首先,看下一般網站架構隨着業務的發展,邏輯越來越複雜,數據量越來越大,交互越來越多之後的常規方案演進歷程。其次,當服務越來越多之

原创 使用Zipkin和Brave 實現dubbo服務調用跟蹤

通過dubbo的Filter來實現dubbo調用鏈的跟蹤信息,跟蹤實現類爲DrpcClientInterceptor和DrpcServerInterceptor,分別實現消費方與提供方的服務跟蹤。git項目地址:https://github

原创 Jvm類的加載機制

1.概述虛擬機加載Class文件(二進制字節流)到內存,並對數據進行校驗、轉換解析和初始化,最終形成可被虛擬機直接使用的Java類型,這一系列過程就是類的加載機制。2.類的加載時機類從被虛擬機加載到內存開始,直到卸載出內存爲止,整個 生命週

原创 創建Java多線程的兩種方式和線程異常

一.使用多線程的兩種方法使用多線程的兩種方法有:繼承Thread類和實現runable接口。二.繼承Thread類來看一下thread類的源代碼:class Thread implements Runnable {首先可以看出thread類

原创 SpringBoot+MyBatis+MySQL讀寫分離

1.  引言讀寫分離要做的事情就是對於一條SQL該選擇哪個數據庫去執行,至於誰來做選擇數據庫這件事兒,無非兩個,要麼中間件幫我們做,要麼程序自己做。因此,一般來講,讀寫分離有兩種實現方式。第一種是依靠中間件(比如:MyCat),也就是說應用

原创 Spring-涉及到的設計模式彙總

1. 簡單工廠又叫做靜態工廠方法(StaticFactory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式的實質是由一個工廠類根據傳入的參數,動態決定應該創建哪一個產品類。Spring中的BeanFactory就是簡單

原创 最全技術面試180題:阿里11面試+網易+百度+美團!

網絡編程ISO模型與協議http1.0:需要使用keep-alive參數來告知服務器端要建立一個長連接http1.1:默認長連接。支持只發送header信息,可以用作權限請求。支持Host域。http2.0:多路複用的技術,做到同一個連接併