diff --git a/dev-protocol-springcloud/SpringCloud项目介绍.md b/dev-protocol-springcloud/SpringCloud项目介绍.md
index e4af839..c31245c 100644
--- a/dev-protocol-springcloud/SpringCloud项目介绍.md
+++ b/dev-protocol-springcloud/SpringCloud项目介绍.md
@@ -13,9 +13,11 @@
- [dev-protocol-springcloud-hystrix](dev-protocol-springcloud-hystrix)
- [dev-protocol-springcloud-hystrix-dashboard](dev-protocol-springcloud-hystrix-dashboard)
- 消息驱动微服务 - (SpringCloud Stream)
- - todo
+ - [dev-protocol-springcloud-message-study](dev-protocol-springcloud-message-study)
+ - [dev-protocol-springcloud-stream](dev-protocol-springcloud-stream)
- 分布式事务 - (SpringCloud Alibaba Seata)
- - todo
+ - [dev-protocol-springcloud-project-service-config](dev-protocol-springcloud-project-service-config) 通用依赖
+ - [dev-protocol-springcloud-project-order-service](dev-protocol-springcloud-project-order-service) 应用服务举例
- 网关动态限流 - (SpringCloud Alibaba Sentinel)
- todo
- 微服务工程部署与整体可用性验证
@@ -34,5 +36,5 @@
- 商品微服务
- [dev-protocol-springcloud-project-goods-service](dev-protocol-springcloud-project-goods-service)
- 订单微服务
- -
+ - [dev-protocol-springcloud-project-order-service](dev-protocol-springcloud-project-order-service)
- 物流微服务
\ No newline at end of file
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/.gitignore b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/pom.xml b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/pom.xml
new file mode 100644
index 0000000..1dadf10
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/pom.xml
@@ -0,0 +1,102 @@
+
+
+ 4.0.0
+
+ org.example
+ dev-protocol
+ 1.0-SNAPSHOT
+ ../../pom.xml
+
+
+ dev-protocol-springcloud-project-order-service
+ 1.0-SNAPSHOT
+ jar
+
+
+ dev-protocol-springcloud-project-order-service
+ 订单服务
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-zipkin
+
+
+ org.springframework.kafka
+ spring-kafka
+ 2.5.0.RELEASE
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.12
+ runtime
+
+
+
+ org.springframework.cloud
+ spring-cloud-stream
+
+
+ org.springframework.cloud
+ spring-cloud-stream-binder-kafka
+
+
+ org.example
+ dev-protocol-springcloud-project-service-config
+ 1.0-SNAPSHOT
+
+
+ org.example
+ dev-protocol-springcloud-project-service-sdk
+ 1.0-SNAPSHOT
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-hystrix
+
+
+
+
+
+ ${artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/java/org/example/OrderApplication.java b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/java/org/example/OrderApplication.java
new file mode 100644
index 0000000..d049e97
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/java/org/example/OrderApplication.java
@@ -0,0 +1,22 @@
+package org.example;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+
+/**
+ *
订单微服务启动入口
+ * */
+@EnableJpaAuditing
+@SpringBootApplication
+@EnableCircuitBreaker
+@EnableFeignClients
+@EnableDiscoveryClient
+public class OrderApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(OrderApplication.class, args);
+ }
+}
\ No newline at end of file
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/bootstrap.yml b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..687b265
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/bootstrap.yml
@@ -0,0 +1,93 @@
+server:
+ port: 8002
+ servlet:
+ context-path: /dev-protocol-springcloud-project-order-service
+
+spring:
+ main:
+ allow-bean-definition-overriding: true
+ application:
+ name: dev-protocol-springcloud-project-order-service
+ cloud:
+ stream:
+ kafka:
+ binder:
+ brokers: 127.0.0.1:9092
+ auto-create-topics: true
+ bindings:
+ logisticsOutput:
+ destination: dev-protocol-topic # kafka topic
+ content-type: text/plain
+ alibaba:
+ seata:
+ tx-service-group: dev-protocol # seata 全局事务分组
+ nacos:
+ discovery:
+ enabled: true # 如果不想使用 Nacos 进行服务注册和发现, 设置为 false 即可
+ server-addr: 127.0.0.1:8848
+ # server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 # Nacos 服务器地址
+ namespace: 1ccc74ae-9398-4dbe-b9d7-4f9addf9f40c
+ metadata:
+ management:
+ context-path: ${server.servlet.context-path}/actuator
+ # 开启 ribbon 重试机制, 即获取服务失败是否从另外一个节点重试
+ loadbalancer:
+ retry:
+ enabled: true
+ kafka:
+ bootstrap-servers: 127.0.0.1:9092
+ producer:
+ retries: 3
+ consumer:
+ auto-offset-reset: latest
+ sleuth:
+ sampler:
+ probability: 1.0 # 采样比例, 1.0 表示 100%, 默认是 0.1
+ zipkin:
+ sender:
+ type: kafka # 默认是 http
+ base-url: http://localhost:9411/
+ jpa:
+ show-sql: true
+ hibernate:
+ ddl-auto: none
+ properties:
+ hibernate.show_sql: true
+ hibernate.format_sql: true
+ open-in-view: false
+ datasource:
+ # 数据源
+ url: jdbc:mysql://127.0.0.1:3306/dev_protocol_springcloud_project?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
+ username: root
+ password: root
+ type: com.zaxxer.hikari.HikariDataSource
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ # 连接池
+ hikari:
+ maximum-pool-size: 8
+ minimum-idle: 4
+ idle-timeout: 30000
+ connection-timeout: 30000
+ max-lifetime: 45000
+ auto-commit: true
+ pool-name: devProtocolSpringcloudHikariCP
+
+# feign 相关的配置
+feign:
+ hystrix:
+ enabled: true # Hystrix 默认是关闭的
+ client:
+ config:
+ default: # 全局的
+ connectTimeout: 2000 # 默认的连接超时时间是 10s
+ readTimeout: 5000
+
+# 暴露端点
+management:
+ endpoints:
+ web:
+ exposure:
+ include: '*'
+ endpoint:
+ health:
+ show-details: always
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/file.conf b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/file.conf
new file mode 100644
index 0000000..4e03188
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/file.conf
@@ -0,0 +1,65 @@
+## transaction log store, only used in seata-server
+store {
+ ## store mode: file、db、redis
+ mode = "db"
+
+ ## file store property
+ file {
+ ## store location dir
+ dir = "sessionStore"
+ # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions
+ maxBranchSessionSize = 16384
+ # globe session size , if exceeded throws exceptions
+ maxGlobalSessionSize = 512
+ # file buffer size , if exceeded allocate new buffer
+ fileWriteBufferCacheSize = 16384
+ # when recover batch read size
+ sessionReloadReadSize = 100
+ # async, sync
+ flushDiskMode = async
+ }
+
+ ## database store property
+ db {
+ ## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp)/HikariDataSource(hikari) etc.
+ datasource = "druid"
+ ## mysql/oracle/postgresql/h2/oceanbase etc.
+ dbType = "mysql"
+ driverClassName = "com.mysql.jdbc.Driver"
+ url = "jdbc:mysql://127.0.0.1:3306/seata?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false"
+ user = "root"
+ password = "root"
+ minConn = 5
+ maxConn = 100
+ globalTable = "global_table"
+ branchTable = "branch_table"
+ lockTable = "lock_table"
+ queryLimit = 100
+ maxWait = 5000
+ }
+
+ ## redis store property
+ redis {
+ host = "127.0.0.1"
+ port = "6379"
+ password = ""
+ database = "0"
+ minConn = 1
+ maxConn = 10
+ maxTotal = 100
+ queryLimit = 100
+ }
+
+}
+
+service {
+ vgroupMapping.imooc-ecommerce = "default"
+ default.grouplist = "127.0.0.1:8091"
+}
+client {
+ async.commit.buffer.limit = 10000
+ lock {
+ retry.internal = 10
+ retry.times = 30
+ }
+}
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/http/order.http b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/http/order.http
new file mode 100644
index 0000000..e794642
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/http/order.http
@@ -0,0 +1,20 @@
+### 创建订单
+POST http://127.0.0.1:9001/dev-protocol-springcloud-gateway/dev-protocol-springcloud-project-order-service/order/create-order
+Content-Type: application/json
+Accept: application/json
+e-commerce-user: eyJhbGciOiJSUzI1NiJ9.eyJlLWNvbW1lcmNlLXVzZXIiOiJ7XCJpZFwiOjEwLFwidXNlcm5hbWVcIjpcIlFpbnlpQGltb29jLmNvbVwifSIsImp0aSI6ImU5OWYzYjdjLTA2YjYtNGQ1Zi1hODY3LWJlMzhjYjlkNDBmZCIsImV4cCI6MTYyODE3OTIwMH0.U9jXZoa9fdQMJQmujN4mkkbtN62cGVy26qhOq_x4QhU8qCqw_NLr2StdAOAAC_FGOF85DHpvDBHCzn9EDCeuq1tBqODjUaLLnWFtTj3oYYSpPZQTG-ZA9OLz8lG8EbcH3URxcaTMElyI8WKoIVccWIHivXTDgNDZOCs6Bir9bBvJJ1Vobgqnb1uV5S7wdHgh89e96-iBy9xCsoQovTcyEOqi8n5cH8cTjMb2XXjT83OhZC1oxhKhkNoTiDOq9VSaYOISQ_tv-XFTICEed4ondW9zfcrbAWdaHb1l8UT5o7nuQOwWkaMckDft9liuTvl6KAe8MjPN9exUqAI5tOC_fA
+
+{
+ "userAddress": 1,
+ "orderItems": [
+ {
+ "goodsId": 1,
+ "count": 5
+ }
+ ]
+}
+
+### 查询订单
+GET http://127.0.0.1:9001/dev-protocol-springcloud-gateway/dev-protocol-springcloud-project-order-service/order/order-detail?page=2
+Accept: application/json
+e-commerce-user: eyJhbGciOiJSUzI1NiJ9.eyJlLWNvbW1lcmNlLXVzZXIiOiJ7XCJpZFwiOjEwLFwidXNlcm5hbWVcIjpcIlFpbnlpQGltb29jLmNvbVwifSIsImp0aSI6ImU5OWYzYjdjLTA2YjYtNGQ1Zi1hODY3LWJlMzhjYjlkNDBmZCIsImV4cCI6MTYyODE3OTIwMH0.U9jXZoa9fdQMJQmujN4mkkbtN62cGVy26qhOq_x4QhU8qCqw_NLr2StdAOAAC_FGOF85DHpvDBHCzn9EDCeuq1tBqODjUaLLnWFtTj3oYYSpPZQTG-ZA9OLz8lG8EbcH3URxcaTMElyI8WKoIVccWIHivXTDgNDZOCs6Bir9bBvJJ1Vobgqnb1uV5S7wdHgh89e96-iBy9xCsoQovTcyEOqi8n5cH8cTjMb2XXjT83OhZC1oxhKhkNoTiDOq9VSaYOISQ_tv-XFTICEed4ondW9zfcrbAWdaHb1l8UT5o7nuQOwWkaMckDft9liuTvl6KAe8MjPN9exUqAI5tOC_fA
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/registry.conf b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/registry.conf
new file mode 100644
index 0000000..f2a5df2
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/registry.conf
@@ -0,0 +1,17 @@
+registry {
+ # file、nacos、eureka、redis、zk、consul
+ type = "file"
+
+ file {
+ name = "file.conf"
+ }
+
+}
+
+config {
+ type = "file"
+
+ file {
+ name = "file.conf"
+ }
+}
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/sql/t_ecommerce_order.sql b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/sql/t_ecommerce_order.sql
new file mode 100644
index 0000000..d45a7b6
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/sql/t_ecommerce_order.sql
@@ -0,0 +1,10 @@
+-- 创建 t_ecommerce_order 数据表
+CREATE TABLE IF NOT EXISTS `dev_protocol_springcloud_project`.`t_dev_protocol_cloud_order` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '用户 id',
+ `address_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '用户地址记录 id',
+ `order_detail` text NOT NULL COMMENT '订单详情(json 存储, goodsId, count)',
+ `create_time` datetime NOT NULL DEFAULT '0000-01-01 00:00:00' COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT '0000-01-01 00:00:00' COMMENT '更新时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户订单表';
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/sql/undo_log.sql b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/sql/undo_log.sql
new file mode 100644
index 0000000..71fb4a1
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-order-service/src/main/resources/sql/undo_log.sql
@@ -0,0 +1,13 @@
+CREATE TABLE `undo_log` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `branch_id` bigint(20) NOT NULL,
+ `xid` varchar(100) NOT NULL,
+ `context` varchar(128) NOT NULL,
+ `rollback_info` longblob NOT NULL,
+ `log_status` int(11) NOT NULL,
+ `log_created` datetime NOT NULL,
+ `log_modified` datetime NOT NULL,
+ `ext` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-project-service-config/pom.xml b/dev-protocol-springcloud/dev-protocol-springcloud-project-service-config/pom.xml
index 0f30289..1a20987 100644
--- a/dev-protocol-springcloud/dev-protocol-springcloud-project-service-config/pom.xml
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-project-service-config/pom.xml
@@ -46,6 +46,23 @@
swagger-bootstrap-ui
1.9.3
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-seata
+
+
+
+ com.zaxxer
+ HikariCP
+ true
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index fb471b6..0abec51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,6 +64,7 @@
dev-protocol-springcloud/dev-protocol-springcloud-hystrix
dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard
dev-protocol-springcloud/dev-protocol-springcloud-message-study
+ dev-protocol-springcloud/dev-protocol-springcloud-project-order-service
diff --git a/高潜架构师傍身技能-服务治理设计.md b/高潜架构师傍身技能-服务治理设计.md
new file mode 100644
index 0000000..02aaa2c
--- /dev/null
+++ b/高潜架构师傍身技能-服务治理设计.md
@@ -0,0 +1,39 @@
+
+## 1. 傍身技能-服务治理-Nacos,负载均衡
+
+### 1.1 走进微服务与Spring Cloud
+
+### 1.2 如何实现服务治理
+
+### 1.3 如何实现负载均衡
+
+
+## 2. 傍身技能-服务治理-链路追踪,分布式事务
+
+### 2.1 如何实现跨应用的服务间调用
+
+
+### 2.2 如何实现跨应用的链路追踪
+
+
+### 2.3 如何实现分布式事务
+
+
+## 3. 傍身技能-服务治理-限流和容错,配置管理
+
+### 3.1 如何实现服务限流和服务容错
+
+
+### 3.2 如何实现配置管理
+
+
+## 4. 傍身技能-服务治理-网关/安全/消息驱动
+
+
+### 4.1 如何实现轻量级的网关系统
+
+
+### 4.2 如何实现微服务的安全
+
+
+### 4.3 如何实现微服务消息驱动
diff --git a/高潜架构师内功增长-7大主流框架源码系统深研.md b/高潜架构师内功增长-7大主流框架源码系统深研.md
new file mode 100644
index 0000000..4d983e1
--- /dev/null
+++ b/高潜架构师内功增长-7大主流框架源码系统深研.md
@@ -0,0 +1,36 @@
+## 1. SpringBoot源码/造轮子/面试
+
+### 1.1 Spring源码概述
+
+
+### 1.2 Spring Boot架构设计解析
+
+
+### 1.3 Spring Boot核心源码解析
+
+
+### 1.4 Spring Boot应用技巧解析
+
+
+### 1.5 Spring Boot二次改造
+
+
+### 1.6 Spring Boot造轮子
+
+
+### 1.7 Spring Boot面试题深度解析
+
+
+## Spring源码/造轮子/面试
+
+
+## SpringCould源码/造轮子/面试
+
+
+## Spring Data源码/造轮子/面试
+
+
+## Mybatis&Tomcat源码深度解析
+
+
+## RocketMQ源码/造轮子/面试
diff --git a/高潜架构师技法套路-6大经典类型架构设计.md b/高潜架构师技法套路-6大经典类型架构设计.md
new file mode 100644
index 0000000..ac20591
--- /dev/null
+++ b/高潜架构师技法套路-6大经典类型架构设计.md
@@ -0,0 +1,35 @@
+# 高潜架构师技法套路:6大经典类型架构设计
+
+
+## 1. 技法套路一:分布式架构设计技法
+
+### 1.1 分布式系统理论
+
+### 1.2 底层数据设计策略 - 分库分表,热点热数据隔离
+
+### 1.3 底层数据设计策略 - 高可用数据
+
+### 1.4 中间件和平台运行期监控
+
+### 1.5 应用层设计
+
+
+## 2. 技法套路二:微服务架构设计技法
+
+### 2.1 微服务与服务建模
+
+### 2.2 如何统一管理配置信息
+
+### 2.3 如何开展服务监控和调用链路梳理
+
+
+## 3. 技法套路三:Set化架构设计技法
+
+
+## 4. 技法套路四:服务网格架构设计技法
+
+
+## 5. 技法套路五:DDD领域驱动设计技法
+
+
+## 6. 技法套路六:响应式架构设计技法
\ No newline at end of file
diff --git a/高潜架构师持续成长秘籍-管理&沟通&复盘.md b/高潜架构师持续成长秘籍-管理&沟通&复盘.md
new file mode 100644
index 0000000..e41a7fc
--- /dev/null
+++ b/高潜架构师持续成长秘籍-管理&沟通&复盘.md
@@ -0,0 +1,19 @@
+## 大厂架构师级别的项目管理,沟通和复盘秘籍
+
+
+### 1. 项目管理
+
+
+
+
+### 2. 沟通技能
+
+
+
+
+### 3. 复盘总结
+
+
+
+
+### 4. 面试指导
\ No newline at end of file