xingshaocheng/architect-awesome is a curated, Chinese-language reading list called 《后端架构师技术图谱》 — Backend Architect Technology Map. The repository is one long, hand-edited README.md (≈2,500 lines) that organizes hundreds of links to articles, blog posts, and books a Java backend engineer is expected to know on the way to becoming an architect. There is no software to install, no command line, and no API: you read it like a textbook table of contents and click out to whichever topic you want to learn.
This guide explains what is in the map, who it is written for, how to navigate it efficiently, what to expect from the linked content, and how to keep working with the list given that it has not been updated since 2022-08-04.
1. What This Repository Is
| Attribute | Value |
|---|---|
| Project name | 后端架构师技术图谱 (Backend Architect Technology Map) |
| Repository | xingshaocheng/architect-awesome |
| Format | Single README.md (≈148 KB) plus one promotional image (互联网大厂内推.jpeg) |
| Primary language | Chinese (中文); a small fraction of links go to English-language resources |
| Topical focus | Java/JVM-centric backend engineering and software architecture |
| Documentation toolchain | TOC generated by simple-php-github-toc; footnoted at the end of the TOC |
| License | CC BY-NC-SA 4.0 (Creative Commons Attribution–NonCommercial–ShareAlike) |
| Latest source commit at time of writing | a9b92bd — Update README.md — 2022-08-04 |
Note
The repository is a knowledge index, not a software project. There is no
package.json, norequirements.txt, no build system, no executable, and no test suite. Treat it like an annotated bibliography for self-study or interview prep.
Important
Most external links point to Chinese-language sources: CSDN, 博客园 (cnblogs), SegmentFault, 阮一峰的网络日志, 知乎, 美团技术团队, 阿里中间件博客, and similar. Comfort reading technical Chinese — or willingness to use a translator — is effectively a prerequisite for getting full value from the map.
2. Who This Is For
The map is written by an architect for engineers who want to become architects. It is most useful if at least one of the following describes you.
- A Java backend engineer with 2–5 years of experience aiming for a senior or staff title at a Chinese internet company (BAT, ByteDance, Meituan, JD, Pinduoduo, etc.).
- An engineering candidate preparing for technical interviews at the same companies — the topic ordering closely mirrors common architect interview rubrics in mainland China.
- A self-taught developer looking for a structured "what should I know next?" outline rather than a single curriculum.
- A team lead or hiring manager building a personal-development plan for a direct report.
It is less useful if you are looking for hands-on tutorials, runnable code samples, or a guided course — the map only links out, never teaches in place.
3. Quick Start: Three Ways to Use the Map
You do not "install" or "run" this repository. You read it. The three usage styles below cover the vast majority of how people actually consume the map.
As an interview cheat-sheet
- Open the README on GitHub.
- Press Ctrl+F (or ⌘+F) and search for the topic you were just asked about — for example
MVCC,分布式锁(distributed lock),CAP, or布隆过滤器(Bloom filter). - Read the inline summary bullets the maintainer added under each linked article. For many topics those bullets are the answer in compressed form.
- If you need depth, click through to the linked article.
Tip
Many entries already include the punchline next to the link. Examples: "幻读的例子非常清楚。" or "Collections.sort算法调用的是合并排序。" Skim the bullets first; you may not need to leave GitHub at all.
As a study roadmap
- Pick a top-level section that matches your weakest area (see Section 4 for the full inventory).
- Read the section linearly — the order inside a section is roughly fundamentals → mechanism → tuning → war stories.
- For each entry, read the linked article, then take notes on the maintainer's annotation rather than the article itself. The annotations are intentionally short and exam-ready.
- Move to the next sub-section only after you can re-explain the previous one without rereading.
As a checklist before designing a system
Before you start a new design, scan the relevant top-level sections — for example 中间件 (Middleware), 分布式设计 (Distributed Design), and 安全 (Security) — and tick off the concerns you have already accounted for. The map is opinionated about what an architect is supposed to think about, which makes it a useful sanity check.
4. What the Map Covers
The README is organized as a single H1 (《后端架构师技术图谱》) followed by 24 top-level sections. The table below names each section, gives the English meaning, and lists representative sub-topics taken verbatim from the live TOC so you know whether it is worth opening.
| # | Top-level section | English | Representative sub-topics |
|---|---|---|---|
| 1 | 数据结构 | Data Structures | Queues, Sets/Maps, Linked Lists, Trees (BST, Red-Black, B/B+/B*, LSM), BitSet |
| 2 | 常用算法 | Common Algorithms | Sort/search algorithms, Bloom filter, KMP, BFS/DFS, greedy, DP, Bayes, recommendation, MST, shortest path |
| 3 | 并发 | Concurrency | Java concurrency, multi-threading, thread safety, transactions (ACID, isolation levels, MVCC), locks (fair/unfair, optimistic/CAS, ABA, CopyOnWrite, RingBuffer, reentrant, mutex/shared, deadlock) |
| 4 | 操作系统 | Operating Systems | Computer fundamentals, CPU multi-level cache, processes, threads, coroutines, Linux |
| 5 | 设计模式 | Design Patterns | The six SOLID-style principles, the 23 GoF patterns, application scenarios, MVC, IoC, AOP, UML, microservice thinking, Conway's law |
| 6 | 运维 & 统计 & 技术支持 | Ops, Stats & Tech Support | Monitoring, APM, analytics, CI/CD (Jenkins, environment separation), config-management (Ansible, Puppet, Chef), testing (TDD, unit, load, full-link, A/B/canary/blue-green), virtualization (KVM, Xen, OpenVZ), containers (Docker), cloud (OpenStack), DevOps, document management |
| 7 | 中间件 | Middleware | Web servers (Nginx, OpenResty, Tengine, Apache httpd, Tomcat, Jetty), caches (local, client, server, Web, Memcached, Redis, Tair), message queues (RabbitMQ, RocketMQ, ActiveMQ, Kafka, Redis pub/sub, ZeroMQ), schedulers (single-node and distributed), RPC (Dubbo, Thrift, gRPC), DB middleware (Sharding-JDBC), logging, config centers, API gateways |
| 8 | 网络 | Networking | OSI seven-layer model, TCP/IP, HTTP, HTTP/2, HTTPS, network models (epoll, Java NIO, kqueue), long/short connections, network frameworks, zero-copy, binary serialization (Hessian, Protobuf) |
| 9 | 数据库 | Databases | Normal forms, MySQL (principles, InnoDB, optimization, indexes — clustered/non-clustered/composite/AHI, EXPLAIN), NoSQL (MongoDB, HBase) |
| 10 | 搜索引擎 | Search Engines | Search engine theory, Lucene, Elasticsearch, Solr, Sphinx |
| 11 | 性能 | Performance | Methodology, capacity planning, CDN, connection pools, performance tuning |
| 12 | 大数据 | Big Data | Stream processing (Storm, Flink, Kafka Streams), Hadoop (HDFS, MapReduce, YARN), Spark |
| 13 | 安全 | Security | Web security (XSS, CSRF, SQL injection, Hash DoS, script injection, scanners, CAPTCHAs), DDoS defense, PII protection, deserialization vulnerabilities, crypto (symmetric, hashing, asymmetric), server hardening, data security/backups, network isolation, AuthN/AuthZ (RBAC, OAuth 2.0, OIDC, SAML, 2FA, SSO) |
| 14 | 常用开源框架 | Common OSS Frameworks | OSS licenses, logging frameworks (Log4j/Log4j2, Logback), ORMs, network frameworks, Web frameworks (Spring family), utility frameworks |
| 15 | 分布式设计 | Distributed Design | Scalability, stability/HA (hardware/software load balancing, rate limiting, app-level DR, multi-DC DR, drills, graceful start), DB scaling (read/write split, sharding), service governance (registry/discovery, routing), distributed consistency (CAP/BASE, distributed locks, Paxos, Zab, Raft, Gossip, 2PC/3PC, idempotency, leader election, TCC sagas), distributed file systems, unique-ID generation, consistent hashing |
| 16 | 设计思想 & 开发模式 | Design Thinking & Dev Patterns | DDD (CQRS, anemic vs. rich domain models), Actor model, reactive programming (Reactor, RxJava, Vert.x), DODAF 2.0, Serverless, Service Mesh |
| 17 | 项目管理 | Project Management | Architecture review, refactoring, code standards, code review, RUP, Kanban, Scrum, Agile, XP, pair programming, PDCA, FMEA |
| 18 | 通用业务术语 | Common Business Terms | (placeholder — TODO in source) |
| 19 | 技术趋势 | Technology Trends | (placeholder — TODO in source) |
| 20 | 政策、法规 | Policy & Regulations | PRC Cybersecurity Law, Personal Information Protection Law, Article 253 of the Criminal Law, e-commerce law, safe-harbor principle |
| 21 | 架构师素质 | Architect Qualities | Articles on the mindset, breadth/depth/judgement an architect is expected to develop |
| 22 | 团队管理 | Team Management | Hiring (placeholder — TODO) |
| 23 | 资讯 | News & Reading | Industry news, WeChat public-account list (TODO), team blogs (Alibaba Middleware, Meituan Tech), personal blogs (阮一峰, 酷壳, hellojava, Cm's Blog, 程序猿DD), portals/communities (CSDN, 51CTO, ITeye, 博客园, ChinaUnix, 开源中国, InfoQ, 伯乐在线, ITPUB, Tencent Cloud +Community, Aliyun 云栖, IBM developerWorks, DZone, Reddit), Q&A communities (SegmentFault, 知乎, Stack Overflow), industry data analysis, vertical sites by topic, recommended reading (online and physical books) |
| 24 | 技术资源 | Technical Resources | OSS portals (GitHub, ASF), tutorials/manuals (W3Cschool, Runoob, Love2.io, gitbook.cn, ApacheCN, Quick Code, Tutorialspoint, LeetCode), online classrooms (极客时间, 极客学院, 51CTO学院, 牛客网), conferences (QCon, ArchSummit, GITC), apps (极客时间, 得到), job sites (Boss直聘, 拉勾, 猎聘, 100Offer), tools, code hosting (Coding, 码云), file services (七牛, 又拍云), cloud providers (Aliyun, Tencent Cloud, Baidu, Sina, Kingsoft, AWS, GCP, Azure), VPS (Linode, DigitalOcean, Vultr) |
Note
Sections 18, 19, and parts of 17, 21, 22, and 24 are placeholders that contain only
TODOin the source. Do not expect content there — see Section 7 for the full list.
5. Reading the Map: What Each Entry Looks Like
Most entries follow one of three shapes. Recognising the shape helps you decide whether to click out.
Shape A — Link with annotated bullets
* [《公平锁与非公平锁》](https://blog.csdn.net/EthanWhite/article/details/55508357)
* 默认情况下 ReentrantLock 和 synchronized 都是非公平锁。ReentrantLock 可以设置成公平锁。
The bullet under the link is the maintainer's takeaway. In many cases it is enough on its own; the linked article only matters if you want the long-form derivation.
Shape B — Inline definition with no link required
### LSM 树
LSM(Log-Structured Merge-Trees)和 B+ 树相比,是牺牲了部分读的性能来换取写的性能(通过批量写入),实现读写之间的平衡。
Hbase、LevelDB、Tair(Long DB)、nessDB 采用 LSM 树的结构。LSM可以快速建立索引。
These are the "study card" entries. They are short, dense, and self-contained. They are also the most likely to drift out of date silently — verify against current product docs if you cite them.
Shape C — Bare list of links
## 在线课堂
* [学徒无忧](http://www.xuetuwuyou.com/)
* [极客时间](https://time.geekbang.org/)
* [segmentfault](https://segmentfault.com/lives)
These are bibliographic. Pick whichever destination you trust; the maintainer rarely ranks them.
Tip
When an entry has more than one bullet beneath it, read the bullets first. The maintainer is summarising the article so you do not have to.
6. Common Tasks
Find a topic by Chinese keyword
GitHub's in-page search is the fastest path. Examples that work today:
| Keyword | Section it lands in |
|---|---|
红黑树 |
数据结构 → 树 → 红黑树 |
MVCC |
并发 → 一致性、事务 → MVCC |
Redis |
中间件 → 缓存 → Redis |
Sharding |
中间件 → 数据库中间件 → Sharding Jdbc |
OAuth |
安全 → 授权、认证 → OAuth2.0 |
Raft |
分布式设计 → 分布式一致 → 分布式一致性算法 → Raft |
Find a topic by English keyword
Roughly half of the technical proper nouns are written in English (Redis, Kafka, OAuth, MVCC, etc.). For purely Chinese-named concepts, you may need to translate first — for example, search 分布式锁 rather than distributed lock.
Read offline
The repo is small enough to clone and read locally:
git clone https://github.com/xingshaocheng/architect-awesome.git
cd architect-awesome
After cloning, open README.md in any Markdown viewer that supports GitHub-style anchor links.
Tip
External links will not work offline. The annotations under each link are usually enough on their own — keep that in mind if you are reading on a flight or in a region where some of the linked sites are blocked.
Cite an entry
Because the file is a single README.md, every section has a stable GitHub anchor of the form …/README.md#中文锚 or …/README.md#english-anchor. Use the URLs printed in the live TOC at the top of the file when citing — they already have the right percent-encoding.
7. Known Gaps
These are points the maintainer left explicitly unfinished (TODO) or where the README's own structure exposes a missing piece. They are not bugs — they are simply un-filled sections. Plan around them.
| Section | What is missing |
|---|---|
常用算法 → 希尔排序 (Shell sort) |
Body is TODO; only the heading exists. |
操作系统 → 进程 (Processes) |
Body is TODO. |
设计模式 → 责任链模式 (Chain of Responsibility) |
Body is TODO. |
项目管理 → FMEA管理模式 |
Body is TODO. |
通用业务术语 (Common Business Terms) |
Whole section is TODO. |
技术趋势 (Technology Trends) |
Whole section is TODO. |
团队管理 (Team Management) and the 招聘 (Hiring) sub-section |
Whole section is TODO. |
推荐参考书 → 工具方面 (Tooling books) |
Body is TODO. |
资讯 → 公众号列表 (WeChat public-account list) |
Body is TODO. |
Several TODO markers under headings such as 性能调优, 单点登录(SSO), 数据备份, 服务路由控制, etc. |
Bodies are TODO despite the headings being listed. |
Caution
The repository has not had a content commit since 2022-08-04 (commit
a9b92bd). Any technology that has emerged or significantly changed after mid-2022 — for example, ARM-native cloud images, eBPF-based observability, post-Log4Shell logging guidance, or 2023+ Spring 6 / Spring Boot 3 specifics — is by definition absent. Verify versions and CVEs against current upstream sources before relying on the map for production decisions.
8. Link Quality and Rot
Because the map points outward, its usefulness drifts as the public Chinese tech-blog ecosystem changes. Two patterns recur and are worth knowing about up front.
- Promotional / affiliate links. Several entries in
推荐参考书 → 纸质书(Recommended Reading → Physical Books) and one cloud-provider link route throughcoderxing.comredirectors or the JD.comunion-clickaffiliate path. These are still valid book recommendations, but you may want to copy the title and search a vendor of your choice. - Dead or rerouted links. Community issue #138 reports a 404, and issue #158 reports a broken link in the GitLab code-review entry. Expect a small percentage of links — especially those pointing at old CSDN posts or now-defunct Chinese blogs — to be dead.
Tip
If a link 404s, search the article title (the Chinese text inside the
《…》book-title brackets) ons.geekbang.org(also indexed in this map) orcn.bing.com. The articles are rarely deleted; they usually just move.
9. Reporting Issues and Asking for Additions
Feedback flows through the standard GitHub Issues tracker at xingshaocheng/architect-awesome/issues. Looking at the open queue:
- Issue volume is low and the maintainer is not actively triaging.
- The most-recent open issues at the time of writing include broken-link reports (e.g. #138 链接404, #158 link broken), content requests (#122 没有K8S相关的资料啊 — no K8s coverage), and some unrelated recruitment posts.
- If you want a topic added, propose it as an issue or open a pull request that edits the README directly. The repo follows the "awesome list" PR convention: add a single bullet with a Chinese-quoted title, the URL, and one summary bullet beneath it.
Important
Because the maintainer is currently inactive on this repo, expect long PR review times. If you depend on a forked, more current version, several community forks exist on GitHub and Gitee — search
architect-awesometo find them.
10. License and Reuse
Content is published under Creative Commons BY-NC-SA 4.0 (zh). Practically, that means:
- Attribution (BY) — Credit
xingshaocheng/architect-awesomeif you reuse the structure or text. - Non-commercial (NC) — Do not bundle it into a paid product or training course without the author's permission.
- ShareAlike (SA) — Derivative collections must be released under the same CC BY-NC-SA 4.0 terms.
- The license applies to the map itself (the curation, the annotations, the section structure). Linked articles are governed by their own publishers' terms.
11. Frequently Asked Questions
Q: Is there a CLI, web UI, or Docker image for this project? No. The repository is a single Markdown file plus an image. Read it on GitHub or clone it.
Q: Is there an English translation? Not in this repository. A few entries link to English-language resources (Stack Overflow, Reddit, DZone, Tutorialspoint, LeetCode, MDN-style references), but the structure, annotations, and most linked articles are Chinese.
Q: How current is the content?
The most recent commit is a9b92bd on 2022-08-04. Topical depth is strongest for technology that was already mature by 2022 (Spring 4/5, Java 8/11, MySQL 5.7/8.0, Redis 5/6, Kafka 2.x, Hadoop, classic monitoring stacks). Coverage thins out for anything that became prominent after that — see Section 7.
Q: There is no Kubernetes section. Is that on purpose?
The map predates Kubernetes' dominance in Chinese internet companies and was never expanded to cover it. Community issue #122 raises exactly this gap. If you need K8s material, supplement with another awesome list — awesome-kubernetes or kubernetes/community are common starting points.
Q: Why are there inline HTML tags (<h1>, <b style="color:red">, <hr/>) in a Markdown file?
The README mixes HTML and Markdown so it can render coloured "推荐:" callouts and the embedded recruitment image (互联网大厂内推.jpeg) on github.com. GitHub permits a safe subset of HTML inside Markdown, so the page renders cleanly in the browser even though it would not be valid CommonMark on every renderer.
Q: Is the recruitment image at the top of the README endorsed content?
It is part of the source file (互联网大厂内推.jpeg — "Internet Big-Co Referrals"). The maintainer placed it; treat it like any banner ad and click only if you actually want a referral channel.
Q: Can I sponsor or pay the maintainer for an unlock or extra content? The repository is published under CC BY-NC-SA and has no monetisation hooks — no GitHub Sponsors button, no paid tier. Engagement is limited to GitHub stars/forks/PRs.
Q: How do I keep my notes from drifting out of sync with the map? Quote the maintainer's bullet and the source URL when you copy something into your own notes. If the entry later changes, you can re-grep it; if the link rots, you still have the bullet.
Q: Is "awesome-java-books" the same project?
No — but the README explicitly recommends sorenduan/awesome-java-books as a companion list focused on books rather than articles. They are complementary.
Q: Is the TOC at the top hand-maintained?
No. The footer of the TOC notes **(Toc generated by [simple-php-github-toc](https://github.com/xingshaocheng/simple-php-github-toc))**. The maintainer authors the H2/H3 headings; the TOC is regenerated mechanically.
Q: I found a typo or a dead link. What should I do? Open a PR that edits the README. Awesome-list PRs are usually a single-line change and fast to review when the repo is active. Given the current activity level, expect a delay; mirror the change on a community fork in the meantime.
Q: Where can I find similar architect-oriented maps in English?
Several exist: donnemartin/system-design-primer, binhnguyennus/awesome-scalability, and kdn251/interviews. They overlap with this map but are independent works.
12. Troubleshooting
Error: GitHub anchor link jumps to the wrong section after page-internal navigation
GitHub renders Chinese anchors using percent-encoding. If you copy a link like …#数据结构 and paste it raw into some chat clients, the Chinese characters can be re-encoded inconsistently.
Solution: Use the URLs in the README's own TOC — they are already correctly encoded (e.g. #%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84).
Error: Image 互联网大厂内推.jpeg does not load
Some non-GitHub Markdown renderers do not handle non-ASCII filenames consistently. Solution: Read the README on github.com, or rename the file when forking.
Error: External link returns 403 or a "this site is not available in your region" page
Some Chinese tech blogs (especially older CSDN, ITeye, or infoq.cn legacy URLs) restrict access by region or require login.
Solution: Search the article title in s.geekbang.org, cn.bing.com, or the Wayback Machine. Most articles have been re-published or mirrored.
Error: The README claims a topic exists but the section body is empty
The section is one of the TODO placeholders catalogued in Section 7.
Solution: Substitute another reference — for example, use donnemartin/system-design-primer for the system-design topics that are unfinished here, or kubernetes.io/docs for the missing K8s coverage.
Error: Markdown viewer renders raw HTML instead of styled callouts
The README uses inline HTML (<h1>, <b style="color:red">, <p>, <hr/>).
Solution: Open the file on github.com or in any HTML-aware Markdown viewer (VS Code's preview, Typora). Pure CommonMark linters will warn but the structural content remains readable.