Post

2024-04-22-TIL

2024-04-22-TIL

Today I Learned

@Value Annotation

MySQL DateTime Index

Cache Locality and 1D Arrays

  • https://blog.naver.com/k220j/220701200240
  • https://bloodstrawberry.tistory.com/1099

Reverse Proxy

  • https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
  • https://narup.tistory.com/238#google_vignette

Event Driven Architecture(EDA)

  • https://aws.amazon.com/ko/what-is/eda/
  • https://medium.com/@gauravsingharoy/approaching-your-first-event-driven-design-implementation-a-case-study-8f32d5b42eed
  • https://www.youtube.com/watch?v=pRpryoQphXQ
  • https://spring.io/event-driven
  • https://medium.com/@bubu.tripathy/event-driven-architecture-adb658a1dc9c
  • https://medium.com/@AlexanderObregon/mastering-event-driven-architecture-with-spring-events-listeners-and-application-context-658ebe184e89
  • https://medium.com/digital-mckinsey/toward-end-to-end-real-time-event-driven-architectures-using-graphql-with-aws-appsync-a588ef7b8c90
  • https://medium.com/dtevangelist/event-driven-microservice-%EB%9E%80-54b4eaf7cc4a
  • https://www.redhat.com/ko/topics/integration/what-is-event-driven-architecture
  • https://bsssss.tistory.com/1053

Node.js vs Spring Boot

  • https://medium.com/deno-the-complete-reference/express-node-js-vs-webflux-spring-hello-world-performance-comparison-1798e25686e9\
  • https://medium.com/@pravinyo/understanding-nodejs-v8-and-spring-webflux-netty-based-on-event-loop-design-f6c6ce12e96d
  • https://betterprogramming.pub/node-js-vs-spring-boot-which-should-you-choose-2366c2f76587

Spring Reactive

  • https://spring.io/reactive/
  • https://projectreactor.io/
  • https://velog.io/@hiy7030/Spring-WebFlux-Project-Reactor

Virtual Threads vs Webflux

  • https://www.vincenzoracca.com/en/blog/framework/spring/virtual-threads-vs-webflux/
  • https://www.baeldung.com/java-reactor-webflux-vs-virtual-threads

Facade Layer?

Aggregate를 묶어주는 전시 도메인을 위한 계층이(Facade나 View를 위한 계층) 서버 아키텍쳐에서 별도로 필요하다면 구축하는게 바람직할까? 자주 참조하고 변하지 않는 데이터이면서 강결합된 데이터 덩어리라면 Aggregate로 묶어서 전시를 위한 계층을 따로 두어서 캐싱을 적용하는 것도 하나의 방법이 되겠지만, 대개의 경우 캐시 무효화(Cache Invalidation)로 인해 성능의 향상을 크게 느끼지 못할 것이다. 오히려 뷰를 위한 퍼사드가 필요하다면 GraphQL을 활용해서 뷰를 구성하는게 좋을것 같다.

Cache Invalidation

  • https://www.geeksforgeeks.org/cache-invalidation-and-the-methods-to-invalidate-cache/
  • https://redis.io/glossary/cache-invalidation/
  • https://nitropack.io/blog/post/cache-invalidation-nitropack
  • https://harish-bhattbhatt.medium.com/cache-invalidation-2e3dbe3a5b11

Schema Registry in Kafka

  • https://medium.com/@gaemi/kafka-%EC%99%80-confluent-schema-registry-%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%8A%A4%ED%82%A4%EB%A7%88-%EA%B4%80%EB%A6%AC-1-cdf8c99d2c5c
  • https://techblog.yogiyo.co.kr/confluent-schema-registry-%EB%8F%84%EC%9E%85%EA%B8%B0-54d112b9b53f
  • https://always-kimkim.tistory.com/entry/kafka101-schema-registry

gRPC vs REST

  • https://grpc.io/
  • https://aws.amazon.com/ko/compare/the-difference-between-grpc-and-rest/
  • https://velog.io/@letsdev/%EC%9D%B4-%EC%96%BC%EB%A7%88%EB%82%98-%EC%89%BD%EA%B3%A0-%EB%B9%A0%EB%A5%B8-gRPC-1-Concept
  • https://medium.com/naver-cloud-platform/nbp-%EA%B8%B0%EC%88%A0-%EA%B2%BD%ED%97%98-%EC%8B%9C%EB%8C%80%EC%9D%98-%ED%9D%90%EB%A6%84-grpc-%EA%B9%8A%EA%B2%8C-%ED%8C%8C%EA%B3%A0%EB%93%A4%EA%B8%B0-1-39e97cb3460

Architecture Refactoring

애플리케이션 코드 레벨에서도 리팩토링을 권장하는데 왜 서버 아키텍쳐 레벨에서는 리팩토링에 대한 이야기가 잘 논의되지 않을까? 이는 너무 복잡하기도 하고 범위가 큰 문제이기 때문이라고 생각한다. 그리고 변경의 범위가 넓어서 쉽게 변경하지 못한다.

Query

각 도구별로 고유한 쿼리를 만들어서 쉽게 데이터를 조회하도록 제공하는 것은 일반적이다.

  • https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/

Nginx Max Upload Size

  • https://www.educba.com/nginx-max-upload-size/#:~:text=The%20nginx%20default%20file%20upload,using%20the%20directive%20of%20client_max_body_size.
  • https://www.educba.com/nginx-max-upload-size/
  • https://docs.rackspace.com/docs/limit-file-upload-size-in-nginx
  • https://www.linkedin.com/pulse/limit-file-upload-size-nginx-soheil-amiri#:~:text=By%20default%2C%20NGINX%C2%AE%20has,adjust%20the%20file%20upload%20size.

Apache C10K

  • https://en.wikipedia.org/wiki/C10k_problem
  • https://oliveyoung.tech/blog/2023-10-02/c10-problem/
  • https://stackoverflow.com/questions/619595/apache-and-the-c10k
  • https://blog.hojaelee.com/262
  • software-architecture/9781788622592/9068e6b7-9efd-4e12-841c-a4892a40c0a9.xhtml
  • https://webhostinggeeks.com/blog/c10k-problem-understanding-and-overcoming-the-10000-concurrent-connections-challenge/
  • https://applefarm.tistory.com/137

###

This post is licensed under CC BY 4.0 by the author.