原创 ElasticSearch update api 和 update_by_query哪家強

很久沒有怎麼隨記筆記了,今天這裏是爲了糾正一個一直以來我們使用es的一個誤區,這個誤區很大的可能你會就範。很多童靴會把update_by_query拿mysql的語法特性來用,那你就大錯特錯了,這裏有必要溫習下我之前的一篇update_b

原创 再談elasticsearch 高cpu問題

首先要闡述一個觀點,任何技術都是爲解決某一個領域的問題而存在的,我們在使用它的時候,儘可能使用它的優勢(亮點),去發揮它應具備的業務價值。es在很多公司應用非常廣泛,它已經成爲玩大數據的必備的技能,在之前的章節我吐槽過es寫方面的問題,今

原创 Redis工具列表

Redis tool list Here is a Redis tool list. I hope you will find one or two of them that you’d like to try out. Tabl

原创 es6.x下的filter query

說實話玩es的同學一般都會痛苦,爲何api又變了?確實,明明按資深專家的建議來,但好像API完全找不到或被移除了,對,只能說es太熱了。一般提到查詢優化,就避不開filter query。 我們query查詢的時候會去計算下查詢表達式和文

原创 再談elasticsearch下的深度分頁

Elasticsearch 在業務系統中使用也越來越廣,一些開發規範也需要慢慢重視起來。 我們知道在關係型數據庫中,我們被告知要注意甚至被明確禁止使用深度分頁,在es中也應該儘量避免使用深度分頁。 es提供的分頁查詢是通過from和siz

原创 spring boot之maven-wrapper

Spring Boot有很多功能特性值得借鑑和學習,很多玩Spring Boot的人知道不需要安裝Tomcat很方便,其實並沒有發現Maven也是不需要提前安裝。它這樣做的好處在於解決了開發環境maven版本不一致導致的各種問題,spri

原创 論spring事務下的消息發送

最近一直疲於重構canal consumer的客戶端,近期也會陸續分享下一些開發同學常見的問題。其實很多時候發現問題並快速的解決問題並不難,難得時候是否有引起你的深度思考。談起spring事務下發MQ消息,一般人都是直接擼麪條式的硬代碼,

原创 堆外內存泄露揭祕

說實話jvm中堆外內存使用的場景非常多,它可降低GC、減少用戶態與內核態切換及數據拷貝,已經成爲性能提升的有效手段。比如通訊(netty之對象池Recycler),MQ(本地IO之零拷貝之類)。一般使用堆外內存要重點關注手動釋放or 自動

原创 Spring Cloud Feign和Ribbon源碼系列彙總篇

Feign 支持兩種不同的註解(feign的註解和springmvc的註解)來描述接口,簡化了 Java HTTP Client 的調用過程,隱藏了實現細節。而Ribbon實現正向代理的軟負載均衡,Spring cloud Feign默認

原创 Spring Cloud Hystrix 源碼系列彙總篇

隨着服務化的大規模演化,每個應用系統對這些依賴的穩定性與否對系統的影響非常大。而依賴有很多不可控問題:網絡連接緩慢,資源繁忙,服務暫時不可用等。特別是高併發的依賴失敗時如果沒有隔離措施,當前應用服務就有被拖垮的風險。Netflix 公司開

原创 論最強IO:MappedByteBuffer VS FileChannel

最近一直在研究MQ,開源社區中有很多高性能MQ:kafka、RocketMQ、ActiveMQ,拋開網絡傳輸方式、數據結構設計、文件存儲方式...等因素。Java 在 JDK 1.4 引入了 ByteBuffer 等 NIO 相關的類,使

原创 響應式編程 RxJava系列

近兩年來國內的技術圈子中越來越多的開始提及ReactiveX,一方面反映出現在的高級開發者的追求越來越高逼格,另一方面也反映從從結構化編程到面向對象編程到函數式編程的發展歷程,越來越多的應用和麪試中都會有ReactiveX,響應式編程中R

原创 快速掌握redis高逼格系列

說實話,緩存技術已經成爲每一個高階程序員的必備的技能,而Redis 是互聯網技術領域使用最爲廣泛的存儲中間件(在阿里根據redis的二開的版本就有Tair ),國內外很多大型互聯網公司都在使用 Redis。 redis快速入門手冊 主要講

原创 spring-core:內省之MethodIntrospector

關於java bean的內省模式與spring bean的關聯在之前的章節已經講過。接下來要分享下方法內省MethodIntrospector,自從spring 4.2.3中開始支持,如果有熱剩飯的感覺那你完全可以跳讀了。 //源自pa

原创 spring boot:日誌系統源碼深度解析

總所周知,spring boot對各類日誌組件進行了集成,使用起來非常便捷,讓我們需要定義對應日誌框架的配置文件,比如LogBack、Log4j2等,代碼內部便可以直接使用。話不多說,接下來讓我們來領略spring這塊的奧祕吧。 目錄 s