提交一些代码
parent
3c3919cf97
commit
fa8e64a4ce
@ -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
|
@ -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;
|
||||
|
||||
/**
|
||||
* <h1>订单微服务启动入口</h1>
|
||||
* */
|
||||
@EnableJpaAuditing
|
||||
@SpringBootApplication
|
||||
@EnableCircuitBreaker
|
||||
@EnableFeignClients
|
||||
@EnableDiscoveryClient
|
||||
public class OrderApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(OrderApplication.class, args);
|
||||
}
|
||||
}
|
@ -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
|
@ -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
|
||||
}
|
||||
}
|
@ -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
|
@ -0,0 +1,17 @@
|
||||
registry {
|
||||
# file、nacos、eureka、redis、zk、consul
|
||||
type = "file"
|
||||
|
||||
file {
|
||||
name = "file.conf"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
config {
|
||||
type = "file"
|
||||
|
||||
file {
|
||||
name = "file.conf"
|
||||
}
|
||||
}
|
@ -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='用户订单表';
|
@ -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;
|
@ -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源码/造轮子/面试
|
@ -0,0 +1,19 @@
|
||||
## 大厂架构师级别的项目管理,沟通和复盘秘籍
|
||||
|
||||
|
||||
### 1. 项目管理
|
||||
|
||||
|
||||
|
||||
|
||||
### 2. 沟通技能
|
||||
|
||||
|
||||
|
||||
|
||||
### 3. 复盘总结
|
||||
|
||||
|
||||
|
||||
|
||||
### 4. 面试指导
|
Loading…
Reference in New Issue