| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Programming
- Java
- react
- Doit알고리즘코딩테스트
- html
- CSS
- 웹개발기초
- two pointers
- MSA
- coding test
- 데이터베이스
- MVC패턴
- BCIT
- spring boot
- job
- REDIS
- MVC
- sql
- Bambino
- 웹개발
- jsp
- 밤비노
- vite
- DB
- 웹개발자
- Spring MVC
- 자바
- SpringFramework
- mysql
- servlet
- Today
- Total
목록전체 글 (166)
초보 개발자의 기록
마이크로서비스 아키텍처(MSA)에서는 수많은 서비스가 독립적으로 실행됩니다.이때 가장 중요한 것은 각 서비스가 어디 있는지를 자동으로 찾는 기능, 즉 서비스 디스커버리입니다.Spring Cloud Netflix에서 제공하는 대표적인 서비스 디스커버리 도구가 Eureka(유레카) 입니다. 서비스 디스커버리란?MSA 환경에서는 서비스가 독립적으로 실행되고, 포트나 위치(IP)가 고정되지 않을 수 있습니다.이때 유레카 서버가 서비스 주소를 중앙에서 관리하고,각 서비스는 유레카에 자신을 등록하고 서로 위치를 조회합니다.핵심 개념개념설명Service Registry서비스 주소 목록을 저장하는 저장소 (Eureka Server)Service Registration서비스가 실행되며 유레카에 자신을 등록Service ..
핵심 개념부터 실제 사례, 버전 관리까지마이크로서비스 아키텍처(MSA)는 더 빠르고 확장성 있는 개발 환경을 만들기 위해 많은 기업에서 채택하고 있습니다. Spring Cloud는 이러한 MSA 환경을 구축하는 데 필수적인 도구들을 제공하여 개발과 운영을 단순화합니다.이 글에서는 Spring Cloud의 핵심 개념, MSA 구성 요소, 넷플릭스 사례, 그리고 실제 프로젝트에서 고려해야 할 요소들을 정리해보겠습니다. Spring Cloud란?Spring Cloud는 MSA 개발을 위한 도구 모음입니다.마이크로서비스 간의 통신, 설정 관리, 장애 대응 등 복잡한 요소를 쉽게 구현하도록 지원서비스 등록/발견, 로드밸런싱, Config 관리, 게이트웨이, 서킷 브레이커 등 제공주로 사용되는 구성 요소➜ Eure..
MSA(마이크로서비스 아키텍처)란?MSA(Microservices Architecture)는 하나의 애플리케이션을 여러 개의 독립적인 서비스로 분리하여 개발, 배포, 유지보수가 용이하도록 설계한 소프트웨어 아키텍처 스타일입니다.정해진 강제 규칙이 있는 것이 아니라, 프로젝트 상황에 맞게 유연하게 적용할 수 있는 방식입니다.각 서비스는 하나의 비즈니스 기능을 담당하며, 독립적 배포와 확장이 가능합니다.서비스 간 통신은 일반적으로HTTP / HTTPS메시지 큐(Message Queue)와 같은 방식으로 이루어집니다.예를 들어 주문(Order), 상품(Product), 사용자(User) 서비스를 분리하면,각 서비스는 독립적으로 개발 · 배포할 수 있고, 반드시 동일 기술을 사용할 필요도 없습니다.통신 규격(A..
웹 서비스에서 로그인 상태 유지, 사용자 정보 저장 등 사용자 상태(Session) 관리는 필수적입니다.이번 글에서는 Spring Boot의 HttpSession 구조, 서버 확장 시 발생하는 문제, 그리고 이를 해결하는 Redis 기반 Session Clustering을 실습과 함께 정리합니다.Http SessionHttp Session은 웹 서버가 사용자를 식별하고 데이터를 저장하는 방식입니다.사용자가 처음 서버에 접근하면 서버는 Session ID를 발급하고 이를 브라우저의 Cookie(JSESSIONID) 에 저장합니다.이후 모든 요청은 이 Session ID와 함께 전달 → 서버는 이 값을 확인해 같은 사용자인지 판단합니다.Spring Boot에서는 HttpSession 객체를 활용해 쉽게 값 ..
블로그나 서비스에서 조회수, 인기 콘텐츠 랭킹, 그리고 주문 정보를 관리할 때, RDBMS만 사용하는 것보다 Redis를 함께 사용하면 훨씬 빠르고 효율적이다. Redis를 활용하여 다음 기능을 구현블로그 게시글 조회수 카운팅로그인 사용자 기준 조회수 + 인기 글 랭킹주문 정보(Hash) 저장 및 CRUD1. 게시글 조회수 카운팅 - Redis String & INCR블로그 글 URL패턴은 아래와 같다고 가정/articles/{id}로그인 여부와 상관없이, 페이지가 새로고침 될 때마다 조회수가 올라가야 함 적합한 Redis 타입: String정수 값이 저장된 상태라면 INCR, DECR 명령으로 쉽게 증가/ 감소할 수 있고, 키가 없으면 0에서 자동으로 시작INCR articles:1INCR articl..
Redis를 스프링에서 사용할 때 RedisRepository랑 RedisTemplate 이라는 이름을 많이 보게 됨둘 다 Redis를 쓰는 도구인데, 쓰는 목적과 방식이 다름 Redis는 왜 쓰는가?Redis는 속도가 매우 빠른 인메모리 데이터베이스 보통 아래와 같은 상황에서 많이 쓰임로그인 세션 저장로그인 토큰 (JWT) 저장 / 로그아웃 처리API 캐싱랭킹(순위표) 기능알림 큐실시간 카운팅(조회수, 좋아요 수 등) RedisRepositoryJPA처럼 Redis도 엔티티 저장소처럼 쓰게 해주는 기능즉, Redis를 진짜 DB처럼 CRUD하고 싶을때 쓰는 방식 언제 사용?코드 간단하게 쓰고 싶을 때작은 프로젝트, 간단한 캐싱 구조User, Coupon 처럼 객체 단위로 저장할 때한계→ 캐싱/세션 같은..