Welcome to AceT's Blog(869)
-
Docker 리서치
도커 등장 배경 docker 관련 문서 : https://github.com/remotty/documents.docker.co.kr 서버를 관리한다는 것 복잡하고 어려운 서버관리 시간이 흐르면서 서버환경이 종종 바뀌거나 오픈소스가 바뀌거나 하는 걸 볼수 있습니다. CentOS -> Ubuntu Chef -> Ansible -> 또 다른 오픈소스 DevOps의 등장으로 짧은 개발주기와 잦은 배포 마이크로서비스 아키텍처의 유행 -> 프로그램은 더 잘게 쪼개어져 관리는 더욱 복잡해짐. 새로운 툴은 계속 나오고 클라우드의 발전으로 설치해야 할 서버가 수백, 수천대에 이르는 상황(?) 이런 노답인 상황에서 Docker가 등장하고 서버관리 방식이 완전히 바뀌게 됩니다. 도커의 역사 도커는 2013년 3월 산타클라라..
2021.02.03 -
마이크로서비스 아키텍처(Microservice Architecture)
마이크로 서비스 아키텍처 큰 문제를 상대적으로 작게 분해해 해결 이렇게 작게 나눈 각 서비스가 독립적으로 역할을 수행 한가지만, 아주 잘 처리하자. 라는 것이 마이크로 서비스 아키텍처의 기본 철학이다. 단일 책임 원칙(SRP)를 중시(Single Responsibility Principle) 비즈니스 태스크를 작은 태스크로 나누며, 각 태스크마다 마이크로 서비스를 정의 한다. 비즈니스 요구사항과 태스크를 얼마나 잘 나눴는지에 따라 시스템에 두개 혹은 100개의 마이크로 서비스가 존재 마이크로 서비스 아키텍처 특징 시스템을 둘 이상의 실행 단위 또는 컴포넌트로 구성한다. 각 컴포넌트는 기능을 서비스 형태로 표출, 결합도가 낮으며 비즈니스 목적에 맞게 동작한다. 각 컴포넌트는 메시징 큐, HTTP 요청/응답..
2021.02.03 -
SpringBoot 구조 - Monolith / Micro
k8s 도입 전 클라우드 네이티브 개발에 대해서 알게 되었다. cloud native development? 왜 클라우드 네이티브 개발인가? 클라우드의 이점을 완전하게 활용하려면 애플리케이션에 대한 새로운 접근 방식이 필요하며, 컨테이너를 사용한 패키징, 현대화된 아키텍처 수용, 애자일 기술 활용이 이에 해당 합니다. 클라우드 네이티브 방식은 개발 가속화, 제공 가속화, 변화하는 요구에 대한 적응을 가속화할 수 있는 최적의 방법입니다. 클라우드 네이티브 개발은 바로 DevOps입니다. 이는 컨테이너, 마이크로서비스, 그리고 하이브리드 클라우드입니다. 애플리케이션 서비스를 더욱 신속하게 구축하기 위해 중요한 사항을 수용하도록 관점을 바꾸는 것이 매우 중요합니다. 우선적으로 마이크로서비스에 대해서 알아보도록..
2021.01.04 -
뭔가가 하고 싶어졌어!
뭔가가 하고 싶어 졌다 그리고 곰곰이 생각하다 벌떡 일어나서 책상에 앉았다. 그리고는 질문을 해본다. 좋은 질문은 좋은 생각을 이끌어 낸다. Q ) 현재 나는 시니어 개발자인가? 여태 위의 질문을 해오며 나 스스로를 채찍질한 것 같다. 사람의 욕심은 한도 끝도 없으니깐 이런 질문보다 아래의 질문을 하는 게 맞는 것 같다. 나는 개발이 재미있는가? 나의 대답은 YES이다. 고민 없이 대답할 수 있는 거 보면 분명 마음속에 열정이 남아있다는 증거이다. 그리고 내가 부족한 부분은 매우 많을 것이다. 하지만 이런 부분에 대해서 고민할 필요가 없다. 앞으로 잘하면 되는 거니깐:) 개발을 하면서 나는 제대로 기초를 닦으면서 개발을 해왔던가? 스터디와 프로젝트 관련 업무와 스킬 공부를 하면서 개발을 해왔지만 시간이 ..
2020.12.18 -
(사내) Straw api 정리
사내에서 사용되는 Api 정리 그냥 소스만 보고 그러러니 했더니 역시나 단편적인 이해만 될 뿐! 제대로 파악하고 제대로 사용해보기! 다음 스텝으로 프로젝트 소스에서 어떻게 사용되고 있는지 파악해보자! 해당 api 인터페이스는 어떻게 코드화 했는지 수정할 부분은 없는지 잘 한 부분은 배우고 못한 부분은 수정 해보자! 다시 시작 된 재택근무! 헤이해지지 않고 정리하며 기초를 다져보자! - 끝 -
2020.12.16 -
AtomicInteger&LongAdder&Thread-Safe
자바에서 Thread-Safe 즉, 데이터에 대해 동시 접근을 제어하기 위해 Lock( 2020/11/24 - [Language/Java] - Java thread에서의 Lock의 종류?) 을 사용한다. 그런데 이 데이터가 그냥 값을 읽거나 업데이트 정도의 기능일 경우에는 Lock보다는 원자성(Atomic) 변수가 더 성능도 좋고 효율적이다. 아래는 Thread-Safe 이야기 하다가 나옴 ㅋㅋ 오늘 포스팅은 AtomicInteger와 LongAdder에 대해 알아보고자 한다. LongAdder의 경우 실제 서비스에서 사용하고 있다. 위의 사진에서 보면 여러가지 정보가 있는데 하나씩 살펴보면..! int a = 0; thread-1 thread-2 a+=1 a+=1 의 경우 CPU에 의해 처리가 되는데 ..
2020.12.01