diff --git a/README.md b/README.md index 1835316..63ce929 100644 --- a/README.md +++ b/README.md @@ -6,46 +6,56 @@ - ### ๐Ÿ”Š ์ €ํฌ JSVILL์€์š”... (ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ) - - ์ž„๋Œ€์ธ๊ณผ ์ž„์ฐจ์ธ์˜ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ ์ œ๊ณต ๋ฐ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•ด์ฃผ๋Š” ์ž„๋Œ€๊ด€๋ฆฌ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. - - ๊ฑด๋ฌผ๊ด€๋ฆฌ, ๊ณต์‹ค๊ด€๋ฆฌ, ๊ณ„์•ฝ์„œ ๊ด€๋ฆฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - - ์‹ค์ œ ์ž„์ฐจ์ธ์œผ๋กœ์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐํš ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๊นŒ์ง€ ํ˜ผ์ž์„œ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - - ์‚ฌ์šฉ์ž์™€ ๋ฐ๋ชจ๋ฒ„์ „์„ ์‚ฌ์šฉํ•œ ๋ฏธํŒ…์„ ํ†ตํ•ด ์—”๋“œ ์œ ์ €์˜ ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„ํ•ด ๊ฐ€๋ฉฐ ์• ์ž์ผํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - - ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„๋Šฅ๋ ฅ ํ–ฅ์ƒ ๋ฐ ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ์‹œ๊ฐ„ ๋‹จ์ถ•์— ๋งŽ์€ ๋„์›€์„ ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + - ์ž„๋Œ€์ธ๊ณผ ์ž„์ฐจ์ธ์—๊ฒŒ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•ด ์ฃผ๋Š” ์ž„๋Œ€ ๊ด€๋ฆฌ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. + - ์‹ค์ œ ์ž„๋Œ€์ธ์œผ๋กœ์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ˜ผ์ž์„œ ๋ชจ๋“ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + - ์ด ์„œ๋น„์Šค๋Š” ๊ฑด๋ฌผ๊ด€๋ฆฌ, ์ผ์ •๊ด€๋ฆฌ, ๊ณต์‹ค๊ด€๋ฆฌ, ๊ณ„์•ฝ์„œ ๊ด€๋ฆฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. + - ์‚ฌ์šฉ์ž ์š”๊ตฌ ๋ถ„์„ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋‹จ์ถ•์„ ์œ„ํ•ด ๋ฐ๋ชจ ๋ฒ„์ „์„ ํ™œ์šฉํ•œ ์‚ฌ์šฉ์ž์™€์˜ ์ •๊ธฐ ๋ฏธํŒ… ์ง„ํ–‰ํ•˜์—ฌ ์• ์ž์ผํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + - Kubernetes, Monitoring(Prometheus, Grafana, Promtail, Loki), Argo CD, Kafka์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์ ‘๋ชฉ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. - - -- ### ๐Ÿ  ๊ตฌํ˜„๋œ ๊ธฐ๋Šฅ (2023.09 ๊ธฐ์ค€) +- ### ๐Ÿ  ๊ตฌํ˜„๋œ ๊ธฐ๋Šฅ (2024.03 ๊ธฐ์ค€) - ๋กœ๊ทธ์ธ, ํ•ธ๋“œํฐ ์ธ์ฆ์„ ํ†ตํ•œ ํšŒ์›๊ฐ€์ž…, ํ•€๋ฒˆํ˜ธ ์ฐพ๊ธฐ, ๋กœ๊ทธ์•„์›ƒ - ๊ฑด๋ฌผ ๊ด€๋ฆฌ - - ํ•ด๋‹น ๊ฑด๋ฌผ์— ๋Œ€ํ•œ ์ผ์ •๊ด€๋ฆฌ (๋ฐ˜๋ณต์ผ์ • ๋“ฑ๋ก, ๋ฏธ์™„๋ฃŒ ์ผ์ • ํ™•์ธ ๋“ฑ) - - ์นด์นด์˜ค๋งต์„ ํ™œ์šฉํ•œ ์ฃผ์†Œ๊ฒ€์ƒ‰ + - ํ•ด๋‹น ๊ฑด๋ฌผ์˜ ์ผ์ • ๊ด€๋ฆฌ (๋ฐ˜๋ณต ์ผ์ • ๋“ฑ๋ก, ๋ฏธ์™„๋ฃŒ ์ผ์ • ํ™•์ธ ๋“ฑ) + - ์บ˜๋ฆฐ๋” ์ผ์ • ๋งˆ๊ฐ ์•Œ๋ฆผ (์•ž์œผ๋กœ ๋‹ค๊ฐ€์˜ฌ ์ผ์ •์— ๋Œ€ํ•œ ์•Œ๋ฆผ) + - ์นด์นด์˜ค๋งต์„ ์‚ฌ์šฉํ•œ ์ฃผ์†Œ ๊ฒ€์ƒ‰ - ํ˜ธ์‹ค ๊ด€๋ฆฌ - - ํ•ด๋‹น ํ˜ธ์‹ค์— ๋Œ€ํ•œ ๋ฉ”๋ชจ, ์ฐจ๋Ÿ‰, ์‚ฌ์ง„(๊ณ„์•ฝ์„œ) ๊ด€๋ฆฌ - - ์ž…์ฃผ์ž์—๊ฒŒ sms ๋ณด๋‚ด๊ธฐ - - ๊ณ„์•ฝ ์ฆ‰์‹œ ๋งŒ๋ฃŒ - - ์ด์ „ ๊ณ„์•ฝ ๋‚ด์—ญ ๋ณด๊ธฐ + - ํŠน์ • ํ˜ธ์‹ค์— ๋Œ€ํ•œ ๋ฉ”๋ชจ, ์ฐจ๋Ÿ‰, ์‚ฌ์ง„(๊ณ„์•ฝ์„œ) ๊ด€๋ฆฌ + - ์ž…์ฃผ์ž์—๊ฒŒ SMS ์ „์†ก + - ๊ณ„์•ฝ ์ฆ‰์‹œ ๋งŒ๋ฃŒ ๊ธฐ๋Šฅ + - ์ด์ „ ๊ณ„์•ฝ ๋‚ด์—ญ ์กฐํšŒ - ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ - +- ### ๐Ÿ—๏ธ ๊ตฌํ˜„๋œ ์•„ํ‚คํ…์ฒ˜ (2024.03 ๊ธฐ์ค€) + - AWS EC2 ๊ธฐ๋ฐ˜์—์„œ GKE๋ฅผ ์ด์šฉํ•œ Kubernetes ํ™˜๊ฒฝ์œผ๋กœ ์ „ํ™˜ + - Helm๊ณผ Kustomize๋ฅผ ์ด์šฉํ•ด ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŒŒ์ผ์„ ์ค‘์•™ ์ง‘์ค‘์‹์œผ๋กœ ๊ด€๋ฆฌ + - GitHub Actions์™€ Argo CD๋ฅผ ์‚ฌ์šฉํ•œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ์žฌ๊ตฌ์„ฑ + - Prometheus, Prometheus Operator, Grafana, ๋ฐ Spring Actuator๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„ ์ƒํƒœ ์‹œ๊ฐํ™” ๋ฐ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆ +ํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ• + - Kubernetes ํ™˜๊ฒฝ์˜ ๋ถ„์‚ฐ ๋กœ๊ทธ๋ฅผ LogBack๊ณผ Promtail์„ ํ†ตํ•ด Loki๋กœ ์ค‘์•™์ง‘์ค‘ํ™” + - Grafana์˜ Alert๊ณผ Discord๋ฅผ ์—ฐ๋™ํ•ด ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ ์ด์Šˆ ๊ฐ์ง€ ๋ฐ ๊ฒฝ๊ณ  ์‹œ์Šคํ…œ ๊ตฌํ˜„ + - Spring Scheduled, Kafka, ๋ฐ SSE-Emitter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๋Ÿ‰ ์บ˜๋ฆฐ๋” ์ผ์ • ๋งˆ๊ฐ ์•Œ๋ฆผ์„ ์ฒ˜๋ฆฌ, Kafka-UI๋กœ Kafka ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง + - CI/CD pipeline
+ image + + + - ### ๐Ÿ˜Š ๊ตฌํ˜„๋  ๊ธฐ๋Šฅ & ๋ฐฉํ–ฅ - - ์บ˜๋ฆฐ๋”์˜ ์ผ์ • ์•Œ๋ฆผ (์•ž์œผ๋กœ ๋‹ค๊ฐ€์˜ฌ ์ผ์ •์— ๋Œ€ํ•œ ์•Œ๋ฆผ) - ์ฃผ์ฐจ๊ด€๋ฆฌ (๊ธฐํš&๊ฐœ๋ฐœ) - ์ฝ”ํ”„๋ง์œผ๋กœ์˜ ์ „ํ™˜ (SpringBoot + Kotlin) - ์—ฐ์ฒด๊ด€๋ฆฌ - - Spring Batch - ### ๐Ÿ› ๏ธ์‚ฌ์šฉ๊ธฐ์ˆ  - - Java17, Spring Boot, Spring Security, Spring Data JPA, querydsl - - MySQL, MariaDB - - HTML, JavaScript, CSS - - Junit5, Mockito, Spock - - AWS EC2, AWS Route 53 + - Java, Spring Boot, Spring Security, JPA, QueryDSL, MariaDB + - Kubernetes(GKE), Helm, Kustomize, Argo CD, GitHub Actions, AWS Route 53 + - Prometheus, Grafana, Promtail, Loki + - Thymeleaf, HTML, JavaScript, CSS + - Junit5, Mockito - ๋„๋ฉ”์ธ - HOSTING.KR @@ -53,27 +63,44 @@ - ๐Ÿ’ป๊ตฌ๋™ํ™”๋ฉด (์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค) -
+
image image +
image image image + image +
+ image + image +
+ image
- ---
๐Ÿ“– Version ์—…๋ฐ์ดํŠธ ๋‚ด์—ญ ๋ณด๊ธฐ -### _v1.9.0 Release [latest] [23.10.20]_ +### _v2.0.0 Release [latest] [24.03.09]_ + - AWS EC2 ๊ธฐ๋ฐ˜์—์„œ GKE๋ฅผ ์ด์šฉํ•œ Kubernetes ํ™˜๊ฒฝ์œผ๋กœ ์ „ํ™˜ + - Helm๊ณผ Kustomize๋ฅผ ์ด์šฉํ•ด ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŒŒ์ผ์„ ์ค‘์•™ ์ง‘์ค‘์‹์œผ๋กœ ๊ด€๋ฆฌ + - GitHub Actions์™€ Argo CD๋ฅผ ์‚ฌ์šฉํ•œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ์žฌ๊ตฌ์„ฑ + - Prometheus, Prometheus Operator, Grafana, ๋ฐ Spring Actuator๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„ ์ƒํƒœ ์‹œ๊ฐํ™” ๋ฐ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆ +ํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ• + - Kubernetes ํ™˜๊ฒฝ์˜ ๋ถ„์‚ฐ ๋กœ๊ทธ๋ฅผ LogBack๊ณผ Promtail์„ ํ†ตํ•ด Loki๋กœ ์ค‘์•™์ง‘์ค‘ํ™” + - Grafana์˜ Alert๊ณผ Discord๋ฅผ ์—ฐ๋™ํ•ด ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ ์ด์Šˆ ๊ฐ์ง€ ๋ฐ ๊ฒฝ๊ณ  ์‹œ์Šคํ…œ ๊ตฌํ˜„ + - Spring Scheduled, Kafka, ๋ฐ SSE-Emitter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๋Ÿ‰ ์บ˜๋ฆฐ๋” ์ผ์ • ๋งˆ๊ฐ ์•Œ๋ฆผ์„ ์ฒ˜๋ฆฌ, Kafka-UI๋กœ Kafka ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง [#12](https://github.com/Sean-creative/JSVILL/issues/12) + + +### _v1.9.0 Release [23.10.20]_ - PIN ๋ฒˆํ˜ธ ํƒ€์ž… ์ˆ˜์ • & ๊ณ„์•ฝ ์ˆ˜์ • ์‹œ ๋‚ ์งœ ์˜ค๋ฅ˜ ์ˆ˜์ • [#1](https://github.com/Sean-creative/JSVILL/issues/1) - ๊ณ„์•ฝ์„œ(photo) ์—…๋กœ๋“œ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ [#2](https://github.com/Sean-creative/JSVILL/issues/2) - ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ - ์‚ฌ์ง„ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ - - DB ๋ฟ๋งŒ์•„๋‹ˆ๋ผ s3์—์„œ๋„ ์‚ญ์ œ๊ฐ€ ๋˜์–ด์•ผํ•จ + - DB ๋ฟ๋งŒ์•„๋‹ˆ๋ผ s3์—์„œ๋„ ์‚ญ์ œ - ์‚ฌ์ง„ ์—…๋กœ๋“œ์‹œ, ๊ธฐ์กด ์‚ฌ์ง„ ๋‘˜ ๋‹ค ์ ์šฉ - ์‚ฌ์ง„ ์—…๋กœ๋“œ ์ด๋ฏธ์ง€ ํฌ๊ธฐ ๋Š˜๋ฆผ - ๋‹ฌ๋ ฅ์˜ ๋‚ด์šฉ ์ˆ˜์ • & ํ˜ธ์‹ค์ˆ˜์ • ์‹œ 'ํ˜ธ'์ œ๊ฑฐ & ํ˜ธ์‹ค์˜ ์˜ค๋ฆ„์ฐจ์ˆœ ๋ฐ ๋ ˆ์ด์•„์›ƒ ์ˆ˜์ • [#3](https://github.com/Sean-creative/JSVILL/issues/3)