从过去20年软件架构,我们可以得到什么?
Junzhi He
TABLE OF CONTENTS 1
TABLE OF CONTENTS 2
WHAT IS THE “LEARNING” FOR HUMAN?
VS MACHINE LEARNING1
HOW TO LEARN ARCHITECT?
番外篇:英/法语,�编程和刷题1
番外篇:英/法语,�编程和刷题2
HISTORY 1 – NAÏVE DISTRIBUTION
HISTORY 2 – MONOLITHIC VS SINGLE POINT
HISTORY 2 – MONOLITHIC VS SINGLE POINT
HISTORY 3 – SERVICE-ORIENTED ARCHITECTURE
HISTORY 3.1 MICROKERNEL ARCHITECTURE
HISTORY 3.2 EVENT-DRIVEN ARCHITECTURE�FOUNDATION OF SOA
HISTORY 3.3 SOA
HISTORY 3.3 SOA
HISTORY 4 - MICROSERVICE
HISTORY 5 – �CLOUD NATIVE
SERVERLESS
SERVERLESS – MY PREDICTION
DON’T BE AFRAID
1 – LAYER AND EVENT-DRIVEN
2 - MICROKERNEL AND MICROSERVICES
3 - SPACE-BASED ARCHITECTURE
FROM ANT TO ELEPHANT 1 – MY 1ST WEBSITE
What is “ACID” and “Transaction”? Isolation, Consistency -> Unix Simple
Servlet vs JSP vs JavaScript vs AJAX
Design Pattern?
1ST WEBSITE – 隐藏的挑战
UNDO LOG FOR A�REDO LOG FOR D
ISOLATION – 级别?多线程?锁?悲观还是乐观?快照度和当前读?SELECT FOR UPDATE?
FROM ANT TO ELEPHANT 2 – FE AND BE
FROM ANT TO ELEPHANT 3 – STORAGE AND I/O
95% of time is blocked by I/O and storage is the bottleneck.
CPP cache vs memory vs SSD ?
Memory: speed is good enough and affordable price.
transmissive vs detour
Cold boot
Architect Principle: Add a layer
FROM ANT TO ELEPHANT 4 – CPU
FROM ANT TO ELEPHANT 5 – DB
FROM ANT TO ELEPHANT 6 – DOMAIN SERVER
FROM ANT TO ELEPHANT 7 – DB AGAIN
FROM ANT TO ELEPHANT 8 – WEB SERVER
FROM ANT TO ELEPHANT 9 – REVIEW PARTITION (WHY MICROSERVICE ?)
FROM ANT TO ELEPHANT 10.1 – REVIEW DB FOR HYBRID OPTION
FROM ANT TO ELEPHANT 10.2 – ETL
FROM ANT TO ELEPHANT 10.3 – ETL AND AWS LAMBDA
ML is microkernel of core domain components
Kafka will send the data.
Architect Pattern: Microkernel Architecture
h
FROM ANT TO ELEPHANT 11.1 – WHY HYBRID?
FROM ANT TO ELEPHANT 11.2 – MICROSERVICE TECH EVOLUTION – J2EE
Only Java and JVM.
Business:
Not Open Source
heavy and difficult to use.
Tech:
Supports Distribute and Scalability, but it is more Naïve distribute.
Not designed for low latency, high availability
JSP: view in backend
JMS: Not flexible enough
JDBC: Only for RDBMS.
ORG:
stagnation, NOT Agile
JNDI(Java Naming and Directory Interface)
RMI(Remote Method Invoke)
IDL(Interface Definition Language)
JDBC(Java Database Connectivity)
JSP(Java Server Page)
JMS(Java Message Service)
FROM ANT TO ELEPHANT 11.2 – MICROSERVICE TECH EVOLUTION – SPRING CLOUD
FROM ANT TO ELEPHANT 11.3.1 – MICROSERVICE TECH EVOLUTION – WHY K8S?
FROM ANT TO ELEPHANT 11.3.2 – MICROSERVICE TECH EVOLUTION – WHY K8S?
FROM ANT TO ELEPHANT 11.3.3 – MICROSERVICE TECH EVOLUTION – WHY K8S?
FROM ANT TO ELEPHANT 11.4.1 – MICROSERVICE TECH EVOLUTION – K8S AND ISTIO
、
FROM ANT TO ELEPHANT 11.4.2 – MICROSERVICE TECH EVOLUTION – K8S AND ISTIO
FROM ANT TO ELEPHANT 12 – SERVICE MESH
WHAT IS ANTI – PATTERN OF ARCHITECT
经济适用的架构
BOTTLENECK AND FOUNDATION 2: CONSISTENCY 1�
BOTTLENECK AND FOUNDATION 2: CONSISTENCY 2�
BOTTLENECK AND FOUNDATION 2: CONSISTENCY 3�
BOTTLENECK AND FOUNDATION 3: ALGORITHM 1 �
BOTTLENECK AND FOUNDATION 3: ALGORITHM 2 �
BOTTLENECK AND FOUNDATION 3: ALGORITHM 3�