้ซๆ กๅญฆไน ็ๆดป็คพๅบๅนณๅฐ / ๅพฎๆๅกๅ็ซฏ
Campus Learning & Life Community Platform ยท Microservices Backend
ไธไธช้ขๅ้ซๆ กๅญฆ็็ๅญฆไน ็ๆดป็คพๅบๅนณๅฐๅ็ซฏ็ณป็ป๏ผ้็จๅพฎๆๅกๆถๆ่ฎพ่ฎก๏ผๆไพไฟกๆฏๆตใ่ตๆบๅไบซใๆดปๅจ็ฎก็ใ็คพไบคไบๅจใๅณๆถ้่ฎฏ็ญๆ ธๅฟๅ่ฝใ
- โจ ้กน็ฎ็ฎไป
- ๐๏ธ ้กน็ฎๆถๆ
- ๐ ๏ธ ๆๆฏๆ
- ๐ ้กน็ฎ็ปๆ
- ๐ ๅฟซ้ๅผๅง
- ๐ ็ฏๅข่ฆๆฑ
- โ๏ธ ้ ็ฝฎ่ฏดๆ
- ๐ API ๆๆกฃ
- ๐ค ่ดก็ฎๆๅ
- ๐ ๅผๆบๅ่ฎฎ
Evolved-MS ๆฏไธไธชไธไธบ้ซๆ กๅญฆ็่ฎพ่ฎก็ๅญฆไน ็ๆดป็คพๅบๅนณๅฐๅ็ซฏ็ณป็ปใๅนณๅฐๆจๅจๆ้ ไธไธช้ๅญฆไน ่ตๆบๅไบซใๆ กๅญๆดปๅจๅๅธใ็คพไบคไบๅจใๅฎๆถ้่ฎฏไบไธไฝ็็ปผๅๆง็คพๅบๅนณๅฐ๏ผๅธฎๅฉๅญฆ็ๆดๅฅฝๅฐ่ๅ ฅๆ กๅญ็ๆดปใ่ทๅๅญฆไน ่ตๆบใๅไธๆ กๅญๆดปๅจใ
| ็นๆง | ๆ่ฟฐ |
|---|---|
| ๐ ็จๆท็ณป็ป | ๆฏๆ็ญไฟก็ปๅฝใ่ดฆๅทๅฏ็ ็ปๅฝใ้ซๆ ก่ฎค่ฏใไธชไบบ่ตๆ็ฎก็ |
| ๐ฐ ไฟกๆฏๆต | ๅจๆๅๅธใ่ตๆบๅไบซใ็ญ้จๅ ๅฎนๆจ่ใไธชๆงๅๆจ่ |
| ๐ ๆดปๅจ็ฎก็ | ๆ กๅญๆดปๅจๅๅธใๆดปๅจ่ฎข้ ใๆดปๅจๆ้ |
| ๐ฌ ็คพไบคไบๅจ | ็น่ตใ่ฏ่ฎบใๆถ่ใๅ ณๆณจใ็ฒไธ็ณป็ป |
| ๐จ ๆถๆฏ้็ฅ | ็ณป็ป้็ฅใไบๅจๆถๆฏใ็งไฟก่ๅคฉใWebSocket ๅฎๆถๆจ้ |
| ๐ ๅ จๆๆ็ดข | ๅบไบ Elasticsearch ็ๅ จๆๆฃ็ดขๅ่ฝ |
| ๐ฆ ่ตๆบๅ ฑไบซ | ๅญฆไน ่ตๆไธไผ ใไธ่ฝฝใๅ็ฑป็ฎก็ |
ๆฌ้กน็ฎ้็จ Spring Cloud ๅพฎๆๅกๆถๆ๏ผๅๆๅก็ฌ็ซ้จ็ฝฒใ็ฌ็ซๆฉๅฑ๏ผๆๅก้ด้่ฟ OpenFeign ่ฟ่ก้ไฟก๏ผไฝฟ็จ Nacos ไฝไธบๆณจๅไธญๅฟๅ้ ็ฝฎไธญๅฟใ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Client Apps โ
โ (Web / Mobile App) โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Evolved Gateway โ
โ (Spring Cloud Gateway) โ
โ Port: 8080 โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ User Service โ โ Post Service โ โ Action Service โ
โ (็จๆทๆๅก) โ โ (ๅ
ๅฎนๆๅก) โ โ (ไบคไบๆๅก) โ
โ โข ็ปๅฝๆณจๅ โ โ โข ไฟกๆฏๆต โ โ โข ็น่ต/่ฏ่ฎบ โ
โ โข ็จๆท็ฎก็ โ โ โข ่ตๆบๅๅธ โ โ โข ๆถ่/ๅ
ณๆณจ โ
โ โข ้ซๆ ก่ฎค่ฏ โ โ โข ็ญ้จๆจ่ โ โ โข ๆถๆฏ้ๅ โ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Message Service โ โ
โ โ (ๆถๆฏๆๅก) โ โ
โ โ โข ็ณป็ป้็ฅ โ โ
โ โ โข ็งไฟก่ๅคฉ โ โ
โ โ โข WebSocket โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ MySQL โ โ Redis โ โ Elasticsearch โ
โ ๆฐๆฎๆไน
ๅ โ โ ็ผๅญ & ไผ่ฏ โ โ ๅ
จๆๆ็ดข โ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ RabbitMQ โ
โ ๆถๆฏ้ๅ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| ๆๅกๆจกๅ | ๆจกๅๅ็งฐ | ็ซฏๅฃ | ่ฏดๆ |
|---|---|---|---|
evolved-gateway |
API ็ฝๅ ณ | 8080 | ็ปไธๅ ฅๅฃใ่ทฏ็ฑ่ฝฌๅใ่ทจๅๅค็ |
user-service |
็จๆทๆๅก | - | ็จๆทๆณจๅ็ปๅฝใ้ซๆ ก่ฎค่ฏใ็จๆท็ฎก็ |
post-service |
ๅ ๅฎนๆๅก | - | ไฟกๆฏๆตใ่ตๆบๅๅธใๆดปๅจ็ฎก็ใๆ็ดขใ็ญ้จๆจ่ |
action-service |
ไบคไบๆๅก | - | ็น่ตใ่ฏ่ฎบใๆถ่ใๅ ณๆณจ |
message-service |
ๆถๆฏๆๅก | - | ้็ฅ็ฎก็ใ็งไฟก่ๅคฉใWebSocket ๅฎๆถ้่ฎฏ |
mode-service |
ๆจกๅผๆๅก | - | ไธๅกๆจกๅผ็ฎก็ |
evolved-common |
ๅ ฌๅ ฑๆจกๅ | - | ้็จๅทฅๅ ท็ฑปใ้ ็ฝฎใๅธธ้ใๆจกๅ |
evolved-service |
ๅไฝๆๅก | - | ๅไฝ็ๆฌ๏ผ็จไบๅผๅ่ฐ่ฏ๏ผ |
ไป ไธบๅญฆไน ๅพฎๆๅกๆถๆ๏ผๆ็ดข็ญๆๅกๅนถๆชๆๅใ
| ๆๆฏ | ็ๆฌ | ่ฏดๆ |
|---|---|---|
| Spring Boot | 3.2.2 | ๆ ธๅฟๆกๆถ |
| Spring Cloud | 2023.0.0 | ๅพฎๆๅกๆกๆถ |
| Spring Cloud Alibaba | 2023.0.0-RC1 | ้ฟ้ๅทดๅทดๅพฎๆๅก็ปไปถ |
| Spring Cloud Gateway | - | API ็ฝๅ ณ |
| Spring Cloud OpenFeign | - | ๆๅก้ด่ฐ็จ |
| Spring Cloud LoadBalancer | - | ่ด่ฝฝๅ่กก |
| ๆๆฏ | ็ๆฌ | ่ฏดๆ |
|---|---|---|
| MySQL | 8.0+ | ๅ ณ็ณปๅๆฐๆฎๅบ |
| MyBatis-Plus | 3.5.5 | ORM ๆกๆถ |
| Redis | - | ็ผๅญ & ไผ่ฏ็ฎก็ |
| Elasticsearch | - | ๅ จๆๆ็ดขๅผๆ |
| ๆๆฏ | ่ฏดๆ |
|---|---|
| Nacos | ๆๅกๆณจๅไธๅ็ฐใ้ ็ฝฎไธญๅฟ |
| RabbitMQ | ๆถๆฏ้ๅ |
| Netty | WebSocket ๅฎๆถ้่ฎฏ |
| ๆๆฏ | ็ๆฌ | ่ฏดๆ |
|---|---|---|
| Hutool | 5.8.16 | Java ๅทฅๅ ท็ฑปๅบ |
| Knife4j | 4.4.0 | API ๆๆกฃ |
| Lombok | - | ็ฎๅไปฃ็ |
| ip2region | 2.7.0 | IP ๅฐๅ่งฃๆ |
| Apache Mahout | 0.13.0 | ๆจ่็ฎๆณ |
evolved-ms/
โโโ evolved-gateway/ # API ็ฝๅ
ณๆๅก
โ โโโ src/main/
โ โโโ java/ # ็ฝๅ
ณๆบ็
โ โโโ resources/ # ้
็ฝฎๆไปถ
โ
โโโ user-service/ # ็จๆทๆๅก
โ โโโ src/main/java/com/benin/evolved/user/
โ โโโ controller/ # ๆงๅถๅจๅฑ
โ โโโ service/ # ๆๅกๅฑ
โ โโโ mapper/ # ๆฐๆฎ่ฎฟ้ฎๅฑ
โ โโโ entity/ # ๅฎไฝ็ฑป
โ
โโโ post-service/ # ๅ
ๅฎนๆๅก
โ โโโ src/main/java/com/benin/evolved/post/
โ โโโ controller/ # ๆงๅถๅจ (Flow/Event/Info/Hot/Search...)
โ โโโ service/ # ๆๅกๅฑ
โ โโโ mapper/ # ๆฐๆฎ่ฎฟ้ฎๅฑ
โ โโโ entity/ # ๅฎไฝ็ฑป
โ
โโโ action-service/ # ไบคไบๆๅก
โ โโโ src/main/java/com/benin/evolved/action/
โ โโโ controller/ # ๆงๅถๅจๅฑ
โ โโโ service/ # ๆๅกๅฑ
โ โโโ entity/ # ๅฎไฝ็ฑป
โ
โโโ message-service/ # ๆถๆฏๆๅก
โ โโโ src/main/java/com/benin/evolved/message/
โ โโโ controller/ # ๆงๅถๅจๅฑ
โ โโโ service/ # ๆๅกๅฑ
โ โโโ websocket/ # WebSocket ๅค็
โ โโโ mq/ # ๆถๆฏ้ๅ
โ
โโโ mode-service/ # ๆจกๅผๆๅก
โ โโโ src/main/java/com/benin/evolved/mode/
โ
โโโ evolved-common/ # ๅ
ฌๅ
ฑๆจกๅ
โ โโโ src/main/java/com/benin/evolved/common/
โ โโโ annotation/ # ่ชๅฎไนๆณจ่งฃ
โ โโโ aop/ # ๅ้ข
โ โโโ config/ # ้
็ฝฎ็ฑป
โ โโโ constant/ # ๅธธ้
โ โโโ exception/ # ๅผๅธธๅค็
โ โโโ handler/ # ๅค็ๅจ
โ โโโ interceptor/ # ๆฆๆชๅจ
โ โโโ model/ # ้็จๆจกๅ
โ โโโ utils/ # ๅทฅๅ
ท็ฑป
โ
โโโ evolved-service/ # ๅไฝๆๅก๏ผๅผๅ่ฐ่ฏ๏ผ
โ
โโโ pom.xml # Maven ็ถ POM
โโโ README.md # ้กน็ฎๆๆกฃ
ๅจๅผๅงไนๅ๏ผ่ฏท็กฎไฟๆจ็ๅผๅ็ฏๅขๆปก่ถณไปฅไธ่ฆๆฑ๏ผ
| ไพ่ต | ็ๆฌ่ฆๆฑ |
|---|---|
| JDK | 17+ |
| Maven | 3.8+ |
| MySQL | 8.0+ |
| Redis | 6.0+ |
| Nacos | 2.x |
| Elasticsearch | 8.x |
| RabbitMQ | 3.x |
git clone https://github.com/your-username/evolved-ms.git
cd evolved-msๅๅปบ MySQL ๆฐๆฎๅบๅนถๅฏผๅ ฅๅๅงๅ่ๆฌ๏ผ
CREATE DATABASE evolved_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;- ๅฏๅจ Nacos ๆๅก
- ๅจ Nacos ไธญ้ ็ฝฎๅๆๅก็้ ็ฝฎๆไปถ
ๆ นๆฎๅฎ้
็ฏๅขไฟฎๆนๅๆๅก็ application.yml ้
็ฝฎๆไปถ๏ผ
spring:
cloud:
nacos:
server-addr: localhost:8848 # Nacos ๅฐๅ
datasource:
url: jdbc:mysql://localhost:3306/evolved_db
username: your-username
password: your-password
redis:
host: localhost
port: 6379# ็ผ่ฏๆดไธช้กน็ฎ
mvn clean install -DskipTests
# ๆ่
็ผ่ฏๅไธชๆๅก
cd user-service
mvn clean package -DskipTestsๆไปฅไธ้กบๅบๅฏๅจๆๅก๏ผ
# 1. ๅฏๅจ็ฝๅ
ณ
java -jar evolved-gateway/target/evolved-gateway.jar
# 2. ๅฏๅจ็จๆทๆๅก
java -jar user-service/target/user-service.jar
# 3. ๅฏๅจๅ
ๅฎนๆๅก
java -jar post-service/target/post-service.jar
# 4. ๅฏๅจไบคไบๆๅก
java -jar action-service/target/action-service.jar
# 5. ๅฏๅจๆถๆฏๆๅก
java -jar message-service/target/message-service.jar
# 6. ๅฏๅจๆจกๅผๆๅก
java -jar mode-service/target/mode-service.jar่ฎฟ้ฎไปฅไธๅฐๅ้ช่ฏๆๅกๆฏๅฆๅฏๅจๆๅ๏ผ
- ็ฝๅ ณ: http://localhost:8080
- Nacos ๆงๅถๅฐ: http://localhost:8848/nacos
- API ๆๆกฃ: http://localhost:8080/doc.html
็ฝๅ ณๆไพ็ปไธ็ API ๅ ฅๅฃ๏ผ่ทฏ็ฑ่งๅๅฆไธ๏ผ
| ่ทฏ็ฑ่ทฏๅพ | ็ฎๆ ๆๅก | ่ฏดๆ |
|---|---|---|
/evolve/api/user/** |
user-service | ็จๆท็ธๅ ณๆฅๅฃ |
/evolve/api/info/** |
post-service | ๅจๆไฟกๆฏๆฅๅฃ |
/evolve/api/res/** |
post-service | ่ตๆบ็ธๅ ณๆฅๅฃ |
/evolve/api/event/** |
post-service | ๆดปๅจ็ธๅ ณๆฅๅฃ |
/evolve/api/publish/** |
post-service | ๅๅธ็ธๅ ณๆฅๅฃ |
/evolve/api/flow/** |
post-service | ไฟกๆฏๆตๆฅๅฃ |
/evolve/api/search/** |
post-service | ๆ็ดขๆฅๅฃ |
/evolve/api/hot/** |
post-service | ็ญ้จๆจ่ๆฅๅฃ |
/evolve/api/action/** |
action-service | ไบๅจๆฅๅฃ |
/evolve/api/notify/** |
message-service | ๆถๆฏ้็ฅๆฅๅฃ |
/evolve/api/mode/** |
mode-service | ๆจกๅผๆฅๅฃ |
ๆฌ้กน็ฎไฝฟ็จ Knife4j ็ๆ API ๆๆกฃ๏ผๅฏๅจๆๅกๅ่ฎฟ้ฎ๏ผ
http://localhost:8080/doc.html
๐ค ็จๆทๆๅก (User Service)
| ๆฅๅฃ | ๆนๆณ | ่ฏดๆ |
|---|---|---|
/evolve/api/user/login/sms |
POST | ็ญไฟก็ปๅฝ |
/evolve/api/user/login/account |
POST | ่ดฆๅทๅฏ็ ็ปๅฝ |
/evolve/api/user/logout |
POST | ้ๅบ็ปๅฝ |
/evolve/api/user/info |
GET | ่ทๅ็จๆทไฟกๆฏ |
/evolve/api/user/edit/name |
POST | ไฟฎๆน็จๆทๅ |
/evolve/api/user/avatar |
POST | ไธไผ ๅคดๅ |
/evolve/api/user/follow |
GET | ่ทๅๅ ณๆณจๅ่กจ |
/evolve/api/user/fans |
GET | ่ทๅ็ฒไธๅ่กจ |
๐ ๅ ๅฎนๆๅก (Post Service)
| ๆฅๅฃ | ๆนๆณ | ่ฏดๆ |
|---|---|---|
/evolve/api/publish/info |
POST | ๅๅธๅจๆ |
/evolve/api/publish/resource |
POST | ๅๅธ่ตๆบ |
/evolve/api/publish/event |
POST | ๅๅธๆดปๅจ |
/evolve/api/flow/list |
GET | ่ทๅไฟกๆฏๆต |
/evolve/api/hot/list |
GET | ่ทๅ็ญ้จๅ ๅฎน |
/evolve/api/search/query |
GET | ๆ็ดขๅ ๅฎน |
๐ฌ ไบคไบๆๅก (Action Service)
| ๆฅๅฃ | ๆนๆณ | ่ฏดๆ |
|---|---|---|
/evolve/api/action/like |
POST | ็น่ต |
/evolve/api/action/unlike |
POST | ๅๆถ็น่ต |
/evolve/api/action/comment |
POST | ๅ่กจ่ฏ่ฎบ |
/evolve/api/action/star |
POST | ๆถ่ |
/evolve/api/action/unstar |
POST | ๅๆถๆถ่ |
/evolve/api/action/follow |
POST | ๅ ณๆณจ |
/evolve/api/action/unfollow |
POST | ๅๆถๅ ณๆณจ |
๐จ ๆถๆฏๆๅก (Message Service)
| ๆฅๅฃ | ๆนๆณ | ่ฏดๆ |
|---|---|---|
/evolve/api/notify/list |
GET | ่ทๅ้็ฅๅ่กจ |
/evolve/api/notify/chats |
GET | ่ทๅ็งไฟกๅ่กจ |
/evolve/api/notify/messages |
GET | ่ทๅ่ๅคฉ่ฎฐๅฝ |
/evolve/api/notify/subscribe |
GET | ่ทๅ่ฎข้ ้็ฅ |
ๆฌ้กน็ฎๅบไบ MIT ่ฎธๅฏ่ฏ ๅผๆบใ
Made with โค๏ธ by Benin
