tag 後端

標籤
貢獻529
645
05:25 PM · Oct 25 ,2025

@後端 / 博客 RSS 訂閱

程序員Seven - Netty高級使用與源碼詳解

粘包與半包 粘包現象 粘包的問題出現是因為不知道一個用户消息的邊界在哪,如果知道了邊界在哪,接收方就可以通過邊界來劃分出有效的用户消息。 服務端代碼 public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start

netty , JAVA , 後端

收藏 評論

牛肉燒烤屋 - 超時時間應該設置多長?長尾請求和重試風暴又該如何解決?打造高效穩定的網絡請求!

超時時間 概念 超時時間指系統在等待某個操作響應時設定的最大容忍時間閾值。當操作未在指定時間內完成,系統將主動終止等待並觸發預設處理邏輯 超時可以看做是一種降級手段。因為假設服務永遠能正常運行,我們並不需要超時時間,來保證服務的可用性和穩定性 常見需要依賴超時時間的場景 網絡層:TCP 協議的 connect timeout(Linux 默認 120 秒)、HTTP 請求的 socket ti

微服務 , rpc , 高可用 , 計算機網絡 , 後端

收藏 評論

程序員Seven - Maven入門,讀完這篇就夠了

Maven 項⽬⽣命週期 Maven從項⽬的三個不同的⻆度,定義了三套⽣命週期,三套⽣命週期是相互獨⽴的,它們之間不會相互影響。 清理⽣命週期(Clean Lifecycle):該⽣命週期負責清理項⽬中的多餘信息,保持項⽬資源和代碼的整潔性。⼀般拿來清空directory(即⼀般的target)⽬錄下的⽂件。 默認構建⽣命週期(Default Lifeclyle):該⽣命週期表示這項⽬的構

maven , 後端

收藏 評論

macrozheng - Jenkins絲滑的打包部署,一套帶走!

在之前的文章中介紹過《使用Jenkins一鍵打包部署SpringBoot項目》,其實Jenkins也可以用來打包部署前端項目。今天就以mall電商實戰項目的前端為例,來講解下如何使用Jenkins一鍵打包部署前端項目。 學習準備 學習本文需要有一定的Jenkins基礎,比如瞭解Jenkins的安裝和基本使用,這些內容可以參考這篇文章: 《Jenkins+Docker一鍵部署SpringBoot項目

springboot , JAVA , jenkins , 後端

收藏 評論

float64 - ByteByteGo學習筆記:URL短鏈服務設計

引言 在互聯網技術日新月異的今天,URL短鏈服務已經成為日常網絡生活中不可或缺的一部分。每當想要分享一個冗長的網頁鏈接,或者需要在對字符數量敏感的平台(如社交媒體、短信等)發佈鏈接時,URL短鏈服務都能將長長的URL地址精簡成短小、易於傳播的鏈接。例如,將冗長的 https://www.systeminterview.com/q=chatsystemc=loggedinv=3i=long 縮短為

學習 , 設計原則 , 架構 , 後端

收藏 評論

大衞talk - whistle抓包工具及調試技巧

由於圖片和格式的解析問題,可前往 閲讀原文 往期文章我們已經講過fiddler、charles以及wireshark等多種抓包工具,已經在工作中足夠解決各種抓包問題了,但我今天還想再分享給大家一款抓包工具 whistle,因為它真的很優秀,本人在工作中也一直在用這個 為什麼我會選擇whistle,首先是fiddler不支持MacOS,其次Charles在M1芯片上會感覺明顯的卡頓;除此之外是whi

抓包解密 , 抓包過濾 , debugging , 後端 , 前端

收藏 評論

牛肉燒烤屋 - 為什麼不應該在事務中嵌套發送 MQ 消息和 RPC 調用?

引言 或許你曾寫過這樣的代碼: @Transaction // 開啓事務 public void craeteOrder(Order order) { saveOrder(order); sendMQ(order); // 或者是發送 rpc } 在一個事務內,向 MySQL 寫入數據,接下來發送 MQ 或 RPC 調用。在大部分情況下,這樣寫好像沒什麼問題 但如果此時我們下游執行

MySQL , mq , JAVA , 事務 , 後端

收藏 評論

大衞talk - Jest單元測試

由於格式和圖片解析問題,可前往 閲讀原文 前端自動化測試在提高代碼質量、減少錯誤、提高團隊協作和加速交付流程方面發揮着重要作用。它是現代軟件開發中不可或缺的一部分,可以幫助開發團隊構建可靠、高質量的應用程序 單元測試(Unit Testing)和端到端測試(End-to-End Testing)是兩種常見的測試方法,它們在測試的範圍、目的和執行方式上有所不同。單元測試和端到端測試不是相互排斥的,而

jestjs , 單元測試 , 自動化測試 , 後端 , 前端

收藏 評論

風流倜儻的傷痕 - 深入解析NoSQL數據庫:從文檔存儲到圖數據庫的全場景實踐

title: 深入解析NoSQL數據庫:從文檔存儲到圖數據庫的全場景實踐 date: 2025/2/19 updated: 2025/2/19 author: cmdragon excerpt: 通過電商、社交網絡、物聯網等12個行業場景,結合MongoDB聚合管道、Redis Stream實時處理、Cassandra SSTable存儲引擎、Neo4j路徑遍歷算法等42

MySQL , nosql , mongodb , 數據庫 , 後端

收藏 評論

Chuck1sn - 《你不知道的 JAVA》💘 什麼是好的 Web Api 設計 (第一章)

工程思維落地 《你不知道的 JAVA 》系列博客的工程理念與設計模式,已落地成一款 全新設計的 Java 腳手架 ,可與博客配套使用。 Web Api 的重要性 設計 api 端點是後端開發經常接觸的工作,但你是否從來沒有想過好的 web api 應該是什麼樣子? Api 端點的設計就像名片一樣——專業的名片可以在客户面前建立信任感;糟糕的名片會讓你的產品在被使用前就給客户留下負面印象。一旦客户

springsecurity , springboot , JAVA , gradle , 後端

收藏 評論

江湖十年 - Go 併發控制:sync.Map 詳解

我們知道,Go 中的 map 類型是非併發安全的,所以 Go 就在 sync 包中提供了 map 的併發原語 sync.Map,允許併發操作,本文就帶大家詳細解讀下 sync.Map 的原理。 使用示例 sync.Map 提供了基礎類型 map 的常用功能,使用示例如下: package main import ( "fmt" "sync" ) func main() {

面試 , 併發 , 併發編程 , go , 後端

收藏 評論

編碼青年 - GraphQL工具怎麼選?深度解析Apipost在文檔自動化與錯誤定位上如何碾壓Apifox

作為一個十年在一線的全棧開發者,對於GraphQL帶來的效率變革已深刻體驗到,據我瞭解,身邊超過40%的同行都已採用這項技術。但在開發過程中,我和團隊經常遇到如下類似問題:手工編寫複雜Query時頻繁出錯、調試過程像在黑暗裏摸索、文檔維護總比代碼慢半拍...直到我們啓用了Apipost,這款工具徹底改變了我們的工作流。 一、我的調試效率進化史 1、可視化界面 記得第一次接觸GraphQL時,需要反

query , apipost , graphql , 接口文檔 , 後端

收藏 評論

飛騰開發者 - GMAC網絡延時性能優化

【寫在前面】飛騰開發者平台是基於飛騰自身強大的技術基礎和開放能力,聚合行業內優秀資源而打造的。該平台覆蓋了操作系統、算法、數據庫、安全、平台工具、虛擬化、存儲、網絡、固件等多個前沿技術領域,包含了應用使能套件、軟件倉庫、軟件支持、軟件適配認證四大板塊,旨在共享尖端技術,為開發者提供一個涵蓋多領域的開發平台和工具套件。點擊這裏開始你的技術升級之旅吧 本文分享至飛騰開發者平台《GMAC網絡延時性能優

芯片 , 運維 , Linux , 網絡 , 後端

收藏 評論

江湖十年 - Go 併發編程:如何實現一個併發安全的 map

上週發佈的文章「Go 併發控制:sync.Map 詳解」有讀者反饋説我寫的太難了,上來就挑戰源碼,對新手不夠友好。所以這篇文章算作補充,從入門到進階的順序講解一下在 Go 中如何自己實現一個併發安全的 map。 內置 map 首先,我們來測試一下 Go 語言內置 map 併發安全性,示例如下: https://github.com/jianghushinian/blog-go-example/tr

面試 , 併發 , 併發編程 , go , 後端

收藏 評論

axiaoxin - Go 語言泛型用法詳解

本文將帶你從零開始,理解Go 泛型的概念、語法、使用方式,並配有示例代碼,幫助你快速上手。 文章目錄 什麼是泛型? 1. 泛型函數 示例:一個求長度的泛型函數 2. 泛型結構體 示例:一個通用的盒子 3. 泛型集合(Set) 示例:一個通用的集合 4. 泛型通道(Channel) 示例

編程語言 , 泛型 , go , 後端

收藏 評論

DBLens - MySQL鎖機制深度解析:從樂觀鎖到悲觀鎖的哲學思辨與技術實踐

一、併發控制的本質與挑戰 在數據庫系統的核心地帶,併發控制始終是保障數據一致性的核心命題。當每秒百萬級的交易請求在金融系統中穿梭,當電商平台的庫存數字在促銷瞬間劇烈波動,當社交媒體的點贊計數以指數級增長時,數據庫工程師們必須直面併發控制的終極挑戰:如何在保證數據一致性的前提下,實現最大程度的併發性能。 這個問題的解決之道,本質上是對"時間"這個維度的不同處理策略。悲觀鎖(Pessimistic L

MySQL , 事務管理 , 事務 , 事務處理 , 後端

收藏 評論

月半大熊貓 - Spring Cloud史詩級插件!OpenFeign Assistant導航跳轉效率飆升,網友:原來IDEA還能這麼用

🌟 ​OpenFeign Assistant插件靈感來源:靈感源自 MyBatisX 的設計理念。針對JetBrains IDEA生態,專注於解決 ​OpenFeign 接口與遠程服務映射的開發痛點,提供與 MyBatisX 相似的流暢導航體驗,針對 Spring Feign 生態深度優化。 JetBrains IDEA插件市場:https://plugins.jetbrains.com/plu

github , openfeign , springcloud , intellij-idea , 後端

收藏 評論

舒一笑不禿頭 - Maven踩坑記錄與反思

本次事件的發生是在我來到一個新的技術初創團隊,由於團隊中的前同事與我交接代碼時候,關於Maven私服這塊的賬號密碼為給我,導致一系列的愛恨情仇。事件的持續花費兩天時間進行解決,現在總結一下遇到的問題與解決思路! 回顧Mavenue的背景 關於Maven,維基百科給的解釋主要有兩種,分別是Apache軟件基金會所提供,主要是用於解決Java軟件的項目管理與自動構建工具。 詳細介紹Maven快速上手

maven , JAVA , 後端

收藏 評論

江湖十年 - 如何基於 Go 語言設計一個簡潔優雅的分佈式任務系統

在當今雲計算與微服務盛行的時代,分佈式任務系統已成為支撐大規模業務的核心基礎設施。今天就來為大家分享下如何基於 Go 語言從零設計和實現一個架構簡潔且擴展性強的分佈式任務系統。 前置概念 本文會設計並實現一個分佈式任務系統,這裏我們要先明確兩個概念。 分佈式:在我們將要實現的分佈式任務系統中,分佈式是指我們的服務可以部署多個副本,這樣才能確保服務更加穩定。 任務:這裏的任務是指異步任務,可能

面試 , 架構設計 , 分佈式系統 , go , 後端

收藏 評論

白穹雨 - 基於PHP進程控制與Redis隊列的異步任務實踐——解決Excel導入接口超時問題

問題背景與解決方案 問題場景 在實現Excel數據導入功能時,遇到一個典型的生產者-消費者場景: 主流程:Excel文件解析 → 數據校驗 → 數據庫事務寫入 附加流程:將成功數據推送給第三方系統 當第三方接口響應緩慢時(實測平均耗時8-12秒),導致整體接口響應時間超出前端等待閾值,造成以下問題: 前端顯示系統錯誤(HTTP 500) 實際業務數據已完整入庫 用户體驗與數據一致性

thinkphp6 , redis , 異步請求 , 隊列 , 後端

收藏 評論

程序員Seven - 【設計模式】命令模式助力快速添加新命令而不影響現有代碼

概述 日常生活中,我們出去吃飯都會遇到下面的場景。 定義: 將一個請求封裝為一個對象,使發出請求的責任和執行請求的責任分割開。這樣兩者之間通過命令對象進行溝通,這樣方便將命令對象進行存儲、傳遞、調用、增加與管理。 結構 命令模式包含以下主要角色: 抽象命令類(Command)角色: 定義命令的接口,聲明執行的方法。 具體命令(Concrete Command)角色:具體的命令,實現命令接口

設計模式 , JAVA , 後端

收藏 評論

程序員Seven - 【設計模式】責任鏈模式教你如何優雅地分發任務

概述 在現實生活中,常常會出現這樣的事例:一個請求有多個對象可以處理,但每個對象的處理條件或權限不同。例如,公司員工請假,可批假的領導有部門負責人、副總經理、總經理等,但每個領導能批准的天數不同,員工必須根據自己要請假的天數去找不同的領導簽名,也就是説員工必須記住每個領導的姓名、電話和地址等信息,這增加了難度。這樣的例子還有很多,如找領導出差報銷、生活中的“擊鼓傳花”遊戲等。 定義: 又名職責鏈模

設計模式 , JAVA , 後端

收藏 評論

程序員Seven - 【設計模式】探索狀態模式在現代軟件開發中的應用

概述 【例】通過按鈕來控制一個電梯的狀態,一個電梯有開門狀態,關門狀態,停止狀態,運行狀態。每一種狀態改變,都有可能要根據其他狀態來更新處理。例如,如果電梯門現在處於運行時狀態,就不能進行開門操作,而如果電梯門是停止狀態,就可以執行開門操作。 類圖如下: 代碼如下: public interface ILift { //電梯的4個狀態 //開門狀態 public fina

設計模式 , JAVA , 後端

收藏 評論

程序員Seven - 【設計模式】從事件驅動到即時更新:掌握觀察者模式的核心技巧

概述 定義:又被稱為發佈-訂閲(Publish/Subscribe)模式,它定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態變化時,會通知所有的觀察者對象,使他們能夠自動更新自己。 結構 在觀察者模式中有如下角色: Subject:抽象主題(抽象被觀察者),抽象主題角色把所有觀察者對象保存在一個集合裏,每個主題都可以有任意數量的觀察者,抽象主題提供一個接口

設計模式 , JAVA , 後端

收藏 評論