๐ฆ Tech Blog by hojongs
@hojongs.github.io@rss-parrot.net
I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline!
Brought to you by the RSS Parrot.
---
Spring Boot, Kotlin, Kubernetes, Docker, DevOps ๋ฑ์ ํธ๊ธฐ์ฌ์ด ๋ง์ ํ ์๋ฒ ๊ฐ๋ฐ์์ ์ง์ ์ ์ฅ์
Your feed and you don't want it here? Just
e-mail the birb.
Redis: Redlock(Distributed lock) ์๊ณ ๋ฆฌ์ฆ ๋ฐ Java ๊ตฌํ์ฒด, ๊ทธ๋ฆฌ๊ณ ๋นํ
https://hojongs.github.io/posts/redis-redlock-algorithm-and-java-implementation-and-criticism/
Published: September 17, 2023 07:05
Redis์์ ์ ์ํ Redlock(DLM implementation) ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๊ธฐ ์ํด Redis ๊ณต์ ๋ฌธ์๋ฅผ ์ฝ์ผ๋ฉด์ ์ผ๋ถ ๋ด์ฉ์ ์ ๋ฆฌํ๋ค. ์ฉ์ด์ง: Redlock Reference: https://redis.com/glossary/redlock/ Redlock์ ๋ํ ๊ฐ๋จํ ์๊ฐ Redis๋ฅผ ์ฌ์ฉํ ๋ถ์ฐ ์ ๊ธ Reference: https://redis.io/docs/manual/patterns/distributed-locks/ ๊ธฐ์กดโฆ
jitter(Retry backoff): jitter ์ฌ์ฉ ์ด์ ๋ฐ ๋ ํผ๋ฐ์ค๋ค
https://hojongs.github.io/posts/retry-backoff-with-jitter-reason-to-use-and-references/
Published: September 14, 2023 15:00
MSA ๋๋ MSA ํ๊ฒฝ์ด ์๋์ด๋ ์ธ๋ถ ์๋น์ค ๋๋ ์์คํ
์ฅ์ ๋ก ์ธํด ์ธ๋ถ ํธ์ถ์ด ์คํจํ ์ ์๋ค. ์ผ๋ถ ์๋น์ค์ ์คํจ๊ฐ ์์คํ
์ ์ฒด ์ฅ์ ๋ก ๋ฒ์ง๊ธฐ๋ ํ๋ค. ์คํจ๋ฅผ ์์ ํ ๋ฐฉ์งํ ์๋ ์๋ค. ํ์ง๋ง ํ๋ ฅ์ ์ธ ์์คํ
์ ๊ตฌ์ถํ์ฌ ์ผ๋ถ ์๋น์ค๊ฐ ์คํจํ๋๋ผ๋ ์ ์ฒด ์์คํ
์ ๋ฌธ์ ์์ด ๋์ํ๋๋ก ํ ์๋ ์๋ค. ํ๋ ฅ์ ์ธ ์์คํ
์ ๊ตฌ์ถํ๊ธฐ ์ํด ํ์ฉํ ์ ์๋ ๋๊ตฌ๋ค๋ก timeout, retry, backoff๊ฐ ์๋ค. jitter๋ ๊ทธ ์ค ํ๋, ์ฆ ํ๋ ฅ์ ์ธโฆ
Spring Async Task vs Kotlin coroutines
https://hojongs.github.io/posts/spring-async-task-vs-kotlin-coroutine/
Published: August 31, 2023 00:52
Keyword: Spring Framework, Async Task, Kotlin, Coroutine ํน์ ์๋น์ค์์ ์ฌ๋ฌ ๊ฐ์ Elasticsearch query๋ฅผ ์์ฒญํ๋ API๊ฐ ์๋ค. ์ด API๋ query๋ฅผ ์์ฐจ์ ์ผ๋ก ์์ฒญํ๊ณ ์์๊ณ , query์ ๊ฐ์๊ฐ ์ฆ๊ฐํ๋ฉด์ latency๊ฐ ์ ์ ์ฆ๊ฐํ๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํด Elasticsearch ์ฟผ๋ฆฌ๋ฅผ ๋ณ๋ ฌ๋ก ์ํํ๋๋ก ๋ณ๊ฒฝํ์๋ค. ์ด๋ฅผ ํตํด 15์ด~100์ด ์ ๋ ๊ฑธ๋ฆฌ๋ API๋ฅผโฆ
Spring WebFlux: Client disconnection ํ์ง ๋์ ๋ฐฉ์
https://hojongs.github.io/posts/spring-webflux-client-disconnection-event-detection-mechanism/
Published: August 25, 2023 15:00
Keyword: Spring, WebFlux, Spring MVC, Network, TCP/IP, HTTP, Netty, Servlet Spring WebFlux ์๋ฒ์์ doOnCancel์ ํตํด ๋ก๊ทธ๋ฅผ ๋จ๊ฒผ๋๋, client๊ฐ ์์ฒญ์ ๋์์ ๋ ๋ก๊ทธ๋ฅผ ๋จ๊ธธ ์ ์๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค. ์ด๋ client์์ ์ค์ ๋ ํ์์์ ์ด๊ณผ๋ก ์ธํ ์ฐ๊ฒฐ ์ข
๋ฃ์๋ค. Spring MVC์์๋ ์ด๋ฌํ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ๊ฒ์ด ๊ทผ๋ณธ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๋ค. ๊ทธ ์ด์ ๊ฐ ๋ฌด์์ผ๊น?โฆ
Spring Retry: RetryPolicy๋ก Exception ๋ถ๊ธฐ ์ฒ๋ฆฌํ๊ธฐ
https://hojongs.github.io/posts/spring-retry-branching-exception-with-retrypolicy/
Published: August 25, 2023 15:00
Keyword: Spring Retry, Retryable, RetryPolicy, MaxAttemptsRetryPolicy, Backoff Spring framework์ ์๋ Retry ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ Elasticsearch client requset ์คํจ ์ retryํ๋ ค๊ณ ํ๋ค. ์ด ๋ ElasticsearchStatusException์ ๊ฒฝ์ฐ ํ์ type์ ๋ฐ๋ผ retry ์ฌ๋ถ๋ฅผ ๋ถ๊ธฐ ์ฒ๋ฆฌํ์๋ค. Spring Retry?โฆ