반응형 역량 UP!/Architecture13 SOA 서비스 지향 아키텍처(Service Oriented Architecture) 마이크로 서비스의 근간이 되는 SOA아키텍처를 통해서 아키텍처의 발전과 실패원인을 분석하여 인사이트를 얻자!세부 구현기술은 변했지만 MSA등 분산 시스템의 아키텍처 사상은 그래도 반영 됨.SOA의 본질적인 개념을 파악하여 대용량 시스템 구현에 활용하자!1. SOA(Service Oriented Architecture)란? 서비스 단위로 기능을 쪼개서 재사용하자! 2000년대 초반 대기업·금융권에서 유행했던 아키텍처 입니다.Business Service주문, 결제, 배송 같은 업무 단위 서비스Task Centric Service특정 업무 단계에 집중한 서비스Entity Centric Service고객, 상품 같은 데이터 중심 서비스Intermediary Service (중간 서비스)아키텍처에 유연성을 더해.. 2025. 8. 26. 비동기 아키텍처(=Asynchronous Architecture) 비동기처리메세지 큐를 기반(MQ, RABBIT MQ, KAFKA, SQS etc)응답을 기다리지 않고 바로 리턴큐 뒤에 다수의 워커가 메세지를 읽어서 처리(워커수를 조정하여 대용량 처리가 용이)비동기 처리 메세지 패턴Fire&Forgetpattern : Producer가 메세지를 그냥 큐에 던져놓고 응답 안 기다림소비여부는 신경 안씀일반적인 MQ 모델에 가까움Producer -> Queue -> Consumerex) ActiveMQ, SQS, RabbitMQ의 기본 Queue Publish&Subscrbepattern : Producer가 메시지를 발행(Publish)하면, 여러 Consumer들이 각각 구독(Subscribe)해서 받아감같은 메세지를 여러 Consumer가 동시에 받을 수 있음.ex) .. 2025. 8. 21. 용어정리) OLTP, OLAP란? OLTP랑 OLAP은 데이터베이스를 쓰는 목적에 따라 나눈 개념OLTP (Online Transaction Processing) → 실시간 거래 처리용OLAP (Online Analytical Processing) → 분석용 OLTP (온라인 트랜잭션 처리)앱/서비스에서 사용자가 직접 쓰는 DB특징빠른 읽기/쓰기 성능이 중요함데이터는 정규화해서 중복 최소화 (INSERT/UPDATE 잦음)하나의 요청(주문, 결제, 로그인 등)을 빠르고 정확하게 처리해야 함예: 은행 송금, 쇼핑몰 주문, 로그인 처리 OLAP (온라인 분석 처리)경영진/분석가가 통계를 내는 DB특징대량의 데이터를 모아 복잡한 조회·집계를 수행데이터는 비정규화/스타 스키마로 저장 (JOIN 최소화, SELECT 위주)쓰기보단 읽기가 대부분,.. 2025. 8. 21. 왜 Cache가 필요한가? 실무에서 꼭 알아야 할 캐시 패턴 10가지! Cache는 왜 필요할까?DB는 느리고 비싼 자원 → 요청이 몰리면 쉽게 과부하캐시는 빠른 메모리 → 자주 쓰는 데이터를 미리 올려두고 바로 꺼내씀결과적으로서버 부하 줄이기응답 속도 빨라짐DB 장애 위험 감소부하땜에 DB서버 죽음..ㅋㅋ자주 사용하는건 캐시에 두고 DB는 꼭 필요할 때만 사용하자! Cache 기법 4대장(1) TTL (Time To Live)캐시에 넣을 때 시간 제한을 둠 → 일정 시간 지나면 자동 삭제장점: 실시간성이 덜 중요한 데이터에 적합하며 캐시가 무한정 커지지 않음단점: DB 데이터가 바뀌면(update) 캐시 데이터와 불일치가 발생할 수 있음그래서 DB가 업데이트 될 때 관련 캐시를 즉시 삭제!다음 요청이 들어오면 DB에서 불러오고 최신 데이터로 업데이트(Lazy Loadin.. 2025. 8. 18. C10K 문제(C10k Problem)란 무엇인가? 1. C10K 문제의 배경1990년대까지만 해도 웹 서버가 수백 개의 동시 연결만 처리해도 충분했습니다. 하지만 인터넷 보급과 함께 수천~수만 명이 동시에 접속하는 상황이 생기면서 기존 방식으로는 서버가 감당하기 어려운 한계에 부딪히게 되었고, 이를 C10K 문제라고 부릅니다.여기서 "C10K"는 Concurrent 10,000 connections의 줄임말입니다.2. 기존 방식의 한계초기 서버는 연결마다 스레드나 프로세스를 생성하는 구조였습니다.연결이 늘어날수록 스레드 수가 기하급수적으로 증가컨텍스트 스위칭 비용 증가메모리 낭비와 동기화 오버헤드 발생또한 Blocking I/O를 사용했기 때문에, 한 연결이 I/O 대기 상태라면 해당 스레드는 CPU를 제대로 활용하지 못했습니다.3. 해결 방법Non-b.. 2025. 8. 16. 대용량 아키텍처 설계(feat. 조대협의 대용량 아키텍처 설계 로드맵) 너무 재밌을 것 같아서..질러버렸다! 내돈내산! 아주 오래전부터 알고 있었던 블로거 "조대협" 님 강좌!오프라인에서도 한번 들었었는데 ㅎㅎ 이제는 온라인이닷!내가 알고 있는 아키텍처 지식들을 좀 더 업데이트를 할 시기이다.사실 너무 오래되어서 잘 기억도 나질 않는것도 많다-_-;;일단 개인프로젝트(코틀린)는 홀딩! 내일은 광복절!(금) 토, 일 동안 강좌를 들어보자:) 학습목표대용량 아키텍처를 설계하기 위해 아키텍트로서 알아야 할 12가지 지식- 비즈니스, 운영, 시스템 설계 등 넓은 시야- 모놀로식, SOA, MSA 등 현대의 아키텍처가 발전해온 히스토리와 각 아키텍처의 특성을 알고, 자사의 비즈니스 목적과 상황에 따라 맞춤화된 아키텍처 설계 역량을 기릅니다. - 전체 시스템을 아우르는 아키텍트.. 2025. 8. 15. 마이크로서비스 아키텍처(Microservice Architecture) 마이크로 서비스 아키텍처 큰 문제를 상대적으로 작게 분해해 해결 이렇게 작게 나눈 각 서비스가 독립적으로 역할을 수행 한가지만, 아주 잘 처리하자. 라는 것이 마이크로 서비스 아키텍처의 기본 철학이다. 단일 책임 원칙(SRP)를 중시(Single Responsibility Principle) 비즈니스 태스크를 작은 태스크로 나누며, 각 태스크마다 마이크로 서비스를 정의 한다. 비즈니스 요구사항과 태스크를 얼마나 잘 나눴는지에 따라 시스템에 두개 혹은 100개의 마이크로 서비스가 존재 마이크로 서비스 아키텍처 특징 시스템을 둘 이상의 실행 단위 또는 컴포넌트로 구성한다. 각 컴포넌트는 기능을 서비스 형태로 표출, 결합도가 낮으며 비즈니스 목적에 맞게 동작한다. 각 컴포넌트는 메시징 큐, HTTP 요청/응답.. 2021. 2. 3. 메시지큐에 대해 알아보자. 모델 종류 발행/구독(publish - and - subscribe) 모델 1: 다 - 모든 클라이언트에게 모든 메시지의 사본을 전달. publisher -> topic -> subscriber -> subscriber -> subscriber 지점간 연결(point - to - point) 모델 1:1 - 하나의 메시지는 하나의 클라이언트에만 전송(큐는 공유 가능) sender -> queue -> receiver 위의 모델 중에 publish - and - subscribe(pub - sub) 모델에 대해서 알아보자! pub/sub 구조 보통의 message queue들은 publisher - message broker(topic) - subscriber 구조를 사용한다. publisher(messa.. 2017. 6. 27. SOLID (object-oriented design) 객체지향적으로 개발 할 때 OOD를 따져서 설계하고 개발한다면 더욱 더 좋은 소스가 될 수 있다. 한번 알아보도록 하자! 출처 : http://en.wikipedia.org/wiki/Solid_(object-oriented_design) 추억의 솔리드..ㅋㅋㅋㅋㅋ 이밤에 끝을 잡고~ Initial Stands for (acronym) Concept S SRP Single responsibility principle - 단일 책임의 원칙 a class should have only a single responsibility. 하나의 클래스에 오직 하나의 책임이어야 한다는 원칙. 예를 들어 MVC 패턴이 나오기까지...jsp에 모든 것을 다 때려 넣었던 그런 시절이 있었다...단일 페이지에 모든 것을...... 2014. 2. 26. [소프트웨어 아키텍처 이론과 실체] 아키텍트로 가기 위한 필독서!! 소프트웨어 아키텍처 이론과 실체 라는 책을 산지..올해 2월에 산것 같은데..제대로 보지를 못했다..ㅠ_ㅠ 채수원님 책은 술술 읽혀서 보았다 다행히.. 2013/03/05 - [Life of AceT/Good book] - 소프트웨어 아키텍처 이론과 실제, TDD(채수원) 아직 기초 지식이 부족하여 할 것이 너무나도 많다..(아~내 잃어버린 시간들이여~~진작에 공부를 했어야..쿨럭~) 조금 정리를 하여 조금씩 이라도 볼 생각이다. 사실 잊고 있었는데..홍K(前팀장)님이..자극을 주셨다+ㅁ+~고오오오오오~ 좋은 자료도 주시고..흐흐+ㅁ+흐흐흐~나만 봐야디~ 자!~ 책의 구성은 총 4부로 되어있다. 혼자보기에는 엄청 힘들 것 같기도 하다..ㄷㄷㄷ 1부. 아키텍처의 개요 1장) 아키텍처 비즈니스 사이클 2장).. 2013. 11. 24. DTP(Distribution Transaction Processing) 관련 자료 DTP(Distribution Transaction Processing) 에 대해서 알 수 있는 The open group의 자료 이다. 자료 링크(영어) : 2.1 X/Open DTP Model을 보면 됩니다. :Dhttp://pubs.opengroup.org/onlinepubs/009680699/toc.pdf IBM에서 번역한 내용(한글) :http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/c0004558.htm 2013. 6. 8. ACE-T의 아키텍트 이야기 - 시작 아키텍처 직군에 있으면서 일반적인 개발보다 더 큰 그림을 봐야 겠다고 생각이 든다. 개발을 할 때 마다 찾아보고 처리하고 했던 방식에서 이제는 모든 것을 아울러야 하는 역할을 해야 한다. 결론은! 공부하자~! 2013년이 밝아 벌써 1월이 지나가고 있다. 다시 한번 내 마음의 열정을 불태워보자^-^ 화이링! 2013. 1. 28. AA란? Architecture? Architecture의 사전적 의미는 ‘건축 혹은 건축 양식’ , 그리고 ‘컴퓨터 시스템의 구성’ 으로 나와 있습니다. 컴퓨터에서 말하는 아키텍처란, 프로세스와 전체적인 구조나, 컴퓨터와 운영체제, 네트워크 및 기타 개념들 간의 논리적 상호관계 등을 생각하고 정의하는 등, 컴퓨터 구조의 모든 곳에 적용되는 용어입니다. Architecture는 OSI 7 Layer같은 참조 모델처럼 하나의 참조 모델이 될 수도 있지만, 특정 제품의 구조를 위한 모델을 의미하거나, 펜티엄 프로세서 같은 특정 제품의 구조가 될 수도 있습니다. 이 문서에서의 Architecture의 가장 가까운 뜻은 “특정 제품의 구조를 위한 모델을 의미” 가 될 듯 싶습니다. Application Architect.. 2012. 11. 12. 이전 1 다음 반응형