์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- JPA
- ์๋ฐ
- AWS Certified Solutions Architect - Associate
- s3 log ์ ์ฅ
- redis ํ ์คํธ์ฝ๋
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- docker
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- jvm ๋ฐ๋ฐ๋ฅ๊น์ง ํํค์น๊ธฐ
- Kafka
- private subnet ec2 ๋ก์ปฌ ์ ์
- Codedeploy ์ค๋ฅ
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- nGrinder
- ์คํํ๋ ๋ฏธ์ค
- aws ์ฟ ํฐ
- docker compose
- ํ๋ก๊ทธ๋๋จธ์ค
- Entity
- ํ์ดํผ๋ฐ์ด์
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- docker ps -a
- ๋ค์ค ์ปจํ ์ด๋
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- redis ์กฐํ
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- aws saa ํฉ๊ฒฉ
- docker-compose kafka
- prod docker-compose
- Today
- Total
๋ชฉ๋ก๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป/๐๐ฉ๐ซ๐ข๐ง๐ (33)
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง

Elasticsearch๋?Elasticsearch๋ ๋์ฉ๋ ๋ฐ์ดํฐ์์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๊ฒ์์ ์ํํ ์ ์๋๋ก ์ค๊ณ๋ ์คํ ์์ค ๋ถ์ฐ ๊ฒ์ ์์ง์ ๋๋ค. JSON ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ฉฐ, ์ญ์์ธ(Inverted Index) ๋ฐฉ์์ ์ฌ์ฉํด ๋น ๋ฅธ ๊ฒ์์ ์ง์ํฉ๋๋ค. Elasticsearch์ ์ฃผ์ ํน์ง์ ๋ฌธ ๊ฒ์(Full Text Search)ํํ์ ๋ถ์์ ํตํด ํ ์คํธ ๊ฒ์์ ์ต์ ํํ๊ณ ๋์์ด ๋ฐ ์ ์์ด ๊ฒ์์ ์ง์ํฉ๋๋ค.์ค์๊ฐ ๊ฒ์๋๋์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ ๋ฐ ๊ฒ์ํ ์ ์์ต๋๋ค.๋ถ์ฐ ์์คํ ์ฌ๋ฌ ๊ฐ์ ๋ ธ๋๋ก ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ์ฌ ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค.RESTful API ์ง์GET, POST, DELETE ๋ฑ์ REST API๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ CRUD(์์ฑ, ์กฐํ, ์์ , ์ญ์ )ํ ..

Docker Compose ํ์ผ์ Kibana ์ค์ ์ถ๊ฐํฉ๋๋ค.version: "3.8"services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.10.0 container_name: elasticsearch platform: linux/arm64 ports: - "9200:9200" environment: - discovery.type=single-node - xpack.security.enabled=false - ES_JAVA_OPTS=-Xms256m -Xmx256m # 256MB๋ก ์ต์ ์ค์ , ํ๋ก๋์ ํ๊ฒฝ์์๋ ์ฌ์ค์ ํ์ networks: ..

Logback.xml ํ์ผ์ ํ์ฉํ์ฌ Logstash๋ฅผ ์ค์ ํ๊ณ , ์ด๋ฅผ ํตํด ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ Elasticsearch์ ์ ์ฅํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๊ธ์์๋ ์ด๋ฅผ ์ํ ํ์ํ ์ค์ ํ์ผ๋ค์ ๋ํด ์ค๋ช ํ๋ ค๊ณ ํฉ๋๋ค. 1. Docker Compose ์ค์ ์ ElasticSearch ๋ฐ Logstash ์ถ๊ฐdocker-compose.ymlservices: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.10.0 container_name: elasticsearch ports: - "9200:9200" environment: - discovery.type=single-node - xpack.s..

๋ก๊ทธ(Log)์์คํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ํ ์ด๋ฒคํธ, ๋์, ์ํ ๋ฑ์ ๊ธฐ๋กํ ์ ๋ณด์ฃผ๋ก ๋๋ฒ๊น , ๋ชจ๋ํฐ๋ง, ๋ฌธ์ ํด๊ฒฐ, ์ฑ๋ฅ ๋ถ์ ๋ฑ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.๋ก๊ทธ์ ์ฃผ์ ๋ชฉ์ ๋๋ฒ๊น : ์์คํ ์์ ๋ฐ์ํ ๋ฌธ์ ๋ฅผ ์ถ์ ํ๊ณ , ์ฝ๋์ ํ๋ฆ์ ํ์ ํ๊ธฐ ์ํด ์ฌ์ฉ.๋ชจ๋ํฐ๋ง: ์์คํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ์ ์ฑ๋ฅ์ ์ค์๊ฐ์ผ๋ก ๊ด์ฐฐ.์๋ฌ ์ถ์ : ๋ฐ์ํ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํ๊ณ , ๋ฌธ์ ์ ์์ธ์ ์ฐพ์ ์์ .์ฑ๋ฅ ๋ถ์: ์์คํ ์ฑ๋ฅ์ ๋ถ์ํ์ฌ ์ต์ ํ ๋ฐ ๊ฐ์ ํ ์ ์๋ ๋ถ๋ถ์ ์ฐพ์๋. ๋ก๊ทธ ๋ ๋ฒจ์ ์ฃผ์ ์ข ๋ฅTRACE์ค๋ช : ๊ฐ์ฅ ๋ฎ์ ์์ค์ ๋ก๊ทธ ๋ ๋ฒจ์ ๋๋ค. ๋งค์ฐ ์ธ๋ฐํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์ฃผ๋ก ์ฝ๋ ์คํ์ ์ธ๋ถ ์ฌํญ, ๋ณ์ ๊ฐ, ๋ฉ์๋ ํธ์ถ ๋ฑ์ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.์ฉ๋: ๋๋ฒ๊น ํ ๋ ์ฝ๋ ํ๋ฆ์ ์ถ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.์์: ๋ฉ์๋..
๋ฉํฐ์ฐ๋ ๋ ํ์ฉ ์ ๋ก๊ทธ ํ์์ด์ ์๋น์ค์์ ์ฌ๋ฌ ์์ฒญ์ด ๋์์ ๋ค์ด์ฌ ๋, ๋ก๊ทธ๊ฐ ์์ ์์ด ์ฒ๋ฆฌ๋๊ณ ์์ฌ ์์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๋ก ์ธํด ๋ก๊ทธ ์ถ์ ์ด ์ด๋ ค์์ง๊ณ , ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฐ ๋ถํธํจ์ ์ด๋ํ ์ ์์ต๋๋ค.๋ก๊ทธ ์์: ์์ฒญ์ ์์ฐจ์ ์ผ๋ก ๋ค์ด์ค์ง๋ง, ์ฒ๋ฆฌ ๋์ค์๋ ๋ก๊ทธ๊ฐ ์์ฌ์ ์์ด๊ฒ ๋ฉ๋๋ค.์ฐ๋ ๋ ์ ๋ณด: ๋ก๊ทธ๋ ์๊ฐ ์์ ์ฐ๋ ๋ ์ ๋ณด๋ฅผ ํ์ํ์ง๋ง, ๊ฐ์ ์ฐ๋ ๋๊ฐ ์ฌ๋ฌ ๋ฒ ์ฌ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ํน์ ์์ฒญ์ ํ๋ฆ์ ์ถ์ ํ๊ธฐ ์ด๋ ต์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ์์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด MDC๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์์ฒญ์ ๊ณ ์ ๊ฐ์ ํ ๋นํ๊ณ , ์ด๋ฅผ ๋ก๊ทธ์ ์ถ๋ ฅํจ์ผ๋ก์จ ๋ก๊ทธ๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ถ์ ํ ์ ์์ต๋๋ค.Interceptor, Filter, AOP ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก MDC๋ฅผ ์ ์ฉํ ์ ์์ง๋ง, ๋ณธ ์์ ์์๋ AOP..

ํ์๋ ์ฒ์์๋ ์๋ฆผ ํ ์ด๋ธ์ ๊ตฌํํํ ๋๊ธ์ด ๋ฌ๋ฆฌ๋ฉด ์๋ฆผํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ก ์ ์ฅํ์๊ณ , API๊ฐ ํธ์ถ๋๋ฉด ํด๋น ์ฌ์ฉ์์ ์๋ฆผ ๋ฐ์ดํฐ๋ฅผ DB์์ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ์๋ค. ํ์ง๋ง ์ด๋ฐ polling ๋ฐฉ์์ ์ ํด์ง ์ฃผ๊ธฐ๋ง๋ค ๋ฌด์กฐ๊ฑด ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋๋ ํธ๋ํฝ์ ๋ฐ์์ํค๋ฉฐ, ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ๋ฐ์ดํธ ๋์ง์๋๋ค๋ ๋จ์ ์ด ์๋ค. ๊ทธ๋์ ํ์๋ Kafka๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฆผ ์ด๋ฒคํธ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ , Server-Sent Events(SSE)๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์ค์๊ฐ์ผ๋ก ์๋ฆผ์ ์ ๋ฌํ๋ ์์คํ ์ ๊ตฌํํด๋ณผ๊ฒ์ด๋ค. ๊ฒ์ํ์ ๊ธ์ ๋๊ธ์ด ๋ฌ๋ฆฌ๋ฉด ์๋์ด ์๊ธฐ๊ณ , ์๋ฒ๋ Kafka๋ฅผ ํตํด ๋น๋๊ธฐ์ ์ผ๋ก ์๋ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ์ฒ๋ฆฌ๋ ์๋์ SSE๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก ํด๋ผ์ด์ธํธ์ ์ ์กํ๋ ..

์ธ๋ฑ์ค ํ ์ด๋ธ์ ๋์ ์๋๋ฅผ ๋์ฌ์ฃผ๋ ์๋ฃ ๊ตฌ์กฐ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์์ค๋ค. ์๋ฅผ ๋ค์ด, ์ฑ ์ ์ฐพ์๋ณด๊ธฐ๊ฐ ์์ ๋ ํน์ ์ฃผ์ ๋ ๋จ์ด๋ฅผ ์ฐพ๊ธฐ ์ํด ์ฑ ์ ๋ชจ๋ ํ์ด์ง๋ฅผ ์ฐพ์๋ณด์ง ์๊ณ , ์ฐพ์๋ณด๊ธฐ์์ ํด๋น ๋จ์ด๋ฅผ ์ฐพ์ ๋ฐ๋ก ํด๋น ํ์ด์ง๋ก ๊ฐ ์ ์๋ฏ์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋ ๋น์ทํ ์ญํ ์ ํ๋ค. ์ธ๋ฑ์ค์ ์ฅ์ & ํจ๊ณผ ๊ฒ์ ์ฑ๋ฅ ํฅ์: WHERE ์ ์์ ํน์ ์นผ๋ผ์ ์ด์ฉํ ์กฐ๊ฑด ๊ฒ์์ด ๋นจ๋ผ์ง๋ค. ์ธ๋ฑ์ค๊ฐ ์์ผ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ํ ์ด๋ธ ์ ์ฒด๋ฅผ ์ค์บํ์ฌ ์กฐ๊ฑด์ ๋ง๋ ํ์ ์ฐพ์์ผ ํ๋ค. ํ์ง๋ง ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋น ๋ฅด๊ฒ ๊ฒ์์ด ๊ฐ๋ฅํ๋ค. ์กฐ์ธ ์ฑ๋ฅ ํฅ์: JOIN ์ ์์ ์กฐ์ธํ ๋ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ์ฌ ์กฐ์ธ์ ์ํํ ์ ์๋ค. ์ด๋ ๋ ํ ์ด๋ธ ๊ฐ์ ๋งค์นญ..

Scouter Scouter๋ ์คํ ์์ค ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ํด๋ก, ์ฃผ๋ก ์๋ฐ(JAVA) ์ดํ๋ฆฌ์ผ์ด์ ์ ์ค์๊ฐ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฌธ์ ์ง๋จ์ ์ฌ์ฉ๋๋ค. ์ด ํด์ ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ์ฑ๋ฅ ์งํ๋ฅผ ์์งํ๊ณ , ๋ถ์ํ์ฌ ์ฑ๋ฅ ์ ํ์ ์์ธ์ ํ์ ํ๊ณ ๊ฐ์ ํ ์ ์๋๋ก ๋์์ค๋ค. Scouter๋ฅผ ์ฌ์ฉํ๋ฉด CPU ์ฌ์ฉ๋, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, SQL ์ฟผ๋ฆฌ ์ฑ๋ฅ, HTTP ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ๋ฑ ๋ค์ํ ์ฑ๋ฅ ์งํ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ ์ ์๋ค. 1. ์ค์นด์ฐํธ ๋ชจ๋ํฐ๋ง TOOL ์ค์นํ๊ธฐ https://github.com/scouter-project/scouter/releases Releases · scouter-project/scouter Scouter is an open source APM (Application Performan..