原创 上傳aws s3報錯com.amazonaws.AmazonClientException: Unable to complete transfer: SERVICE_ID

背景 在上傳aws s3報下面錯誤 引入的pom如下: <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-

原创 面試必問之redis

這裏是我作爲10年面試經驗總結的面試中必問問題 問題一 簡單介紹下redis edis是當前比較熱門的NOSQL系統之一,它是一個開源的使用ANSI c語言編寫的key-value存儲系統(區別於MySQL的二維表格的形式存儲

原创 springboot如何集成Prometheus如何暴露Histogram來獲取P99等監控指標

背景 springboot如何集成Prometheus我這裏不做詳細描述,要想了解集成過程,可以參考一下博客:Spring Boot 使用 Micrometer 集成 Prometheus 監控 Java 應用性能, 這裏我講一下

原创 微服務開發手冊之GRPC

GRPC是一個高性能、通用的開源RPC框架,基於HTTP/2協議標準和Protobuf序列化協議開發,支持衆多的開發語言。 文章目錄1 簡介1.1 http21.1.1二進制傳輸1.1.2 Header壓縮1.1.3 多路複用

原创 grpc報錯合集以及解決方案

這裏介紹下grpc各種報錯以及解決方案 io.grpc.StatusRuntimeException: UNIMPLEMENTED 這個錯誤網上很多,大部分情況下 是由於方法找不到,即客戶端與服務端proto的內容或者版本不一致,

原创 springcloud線上發佈超時方案之終極殺招:預熱(測試用例)

springcloud線上發佈超時系列文章: springcloud線上發佈超時方案之feign優化(ribbon飢餓加載) springcloud線上發佈超時方案之grpc優化 springcloud線上發佈超時方案之終極殺招:

原创 微服務全鏈路跟蹤:jaeger集成hystrix

微服務全鏈路跟蹤:grpc集成zipkin 微服務全鏈路跟蹤:grpc集成jaeger 微服務全鏈路跟蹤:springcloud集成jaeger 微服務全鏈路跟蹤:jaeger集成istio,併兼容uber-trace-id與b3

原创 微服務全鏈路跟蹤:jaeger集成istio,併兼容uber-trace-id與b3

微服務全鏈路跟蹤:grpc集成zipkin 微服務全鏈路跟蹤:grpc集成jaeger 微服務全鏈路跟蹤:springcloud集成jaeger 微服務全鏈路跟蹤:jaeger集成istio,併兼容uber-trace-id與b3

原创 springcloud線上發佈超時之grpc

springcloud線上發佈超時系列文章: springcloud線上發佈超時之feign(ribbon飢餓加載) springcloud線上發佈超時之grpc 上一章我們說到了 springcloud線上發佈超時之feign

原创 springcloud線上發佈超時之feign(ribbon飢餓加載)

springcloud線上發佈超時系列文章: springcloud線上發佈超時之feign(ribbon飢餓加載) springcloud線上發佈超時之grpc 在高併發情況下發布應用時,經常會發現監控中有很多超時報錯或者斷路

原创 mybatis坑之數字字符串比對

在mybatis開發過程中有需要在sql中判斷查詢哪張表,如下sql: SELECT a.tag_name, a.tag_id, count( 0 ) AS base_total

原创 java如何保證一個方法只能執行一次

我們經常會遇到一些情況需要某一個方法或者操作只執行一次,比如說配置信息加載,如果配置信息需要動態刷新,這個不在適用範圍。下面列舉幾種方式 第一種 如果是web容器,可以使用servlet或者Listener 第二種 如果使用spr

原创 kubernetes中集成istio出現拉取配置中心數據失敗導致服務啓動失敗

由於在k8s使用了grpc,所以這裏我們集成istio來實現http2的自動發現以及負載均衡,但是隨着節點增加,istio之前同步配置時間邊長導致第一次啓動時,服務啓動拉取配置時istio卻還沒初始化好相關配置,而導致第一次啓動失

原创 springboot之banner.txt

在springboot啓動過程中,我們經常可以看到控制檯打印下面圖文: 實際上這個打印圖文,是可以自定義的,可以在springboot的resource中創建一個banner.txt文件,在啓動時就會替換springboot默認

原创 一次生產環境mysql遷移操作(二)mysql空間釋放(碎片整理)

一次生產環境mysql遷移操作(一)數據歸檔 一次生產環境mysql遷移操作(二)mysql空間釋放(碎片整理) 上文中增加了定時歸檔,現在一些大表磁盤空間一直不釋放,導致數據庫文件越來越大。現在介紹下數據導入導出方案。 方案選擇