👋 Hello, I am Seung-ho Ham

🧑🏻‍💻 A Developers who create code that changes the world

2024/12 3

서비스 레이어란 무엇이고, 왜 필요한가?

아키텍처를 설계한 것을 보면서 어떤 api는 DB에 바로 접근하는 것을 볼 수 있었고, 어떤 api는 서비스 레이어를 거쳐 db에 접근하는 것이 있었다. 이를 통해 왜 서비스 레이어를 사용하는가에 대한 궁금증이 생겼다.  서비스 레이어란 무엇일까?서비스 레이어는 애플리케이션에서 비즈니스 로직(업무 규칙)을 처리하는 중간 계층이다. API 레이어는 요청과 응답만 처리하고, 서비스 레이어는 데이터 가공 및 검증 등 비즈니스 로직을 담당한다. 서비스 레이어가 없다면?서비스 레이어가 없으면 비즈니스 로직과 API 로직이 섞이게 된다.같은 로직이 반복되면 유지보수가 어려워지고, 로직이 복잡해지면 API 레이어가 비대해지며, 로직 수정 시 API 코드까지 수정해야한다. 원래는 API 레이어가 요청을 받아 비즈니스 ..

Development/APIs 2024.12.18

리눅스에서 YUM으로 패키지 설치 시 다른 레포지토리(repo)가 동작하는 이유

로키 리눅스에서 yum 명령어로 kong 패키지를 설치하는 과정에서 많은 kong패키지 뿐만 아니라 다른 많은 것들이 동작했던 이유가 궁금해서 찾아 보았다.  결론부터 말하자면 현재 시스템에 다양한 레포지토리( PostgreSQL, Grafana, InfluxData, Docker, Rocky Linux 기본 레포지토리 등)가 활성화되어 있었고 yum 명령은 패키지와 그 의존성을 설치하기 위해 시스템에 설정된 모든 활성화된 레포지토리를 확인하기 때문이다. 레포지토리(repo)레포지토리는 특정 소프트웨어와 의존성 패키지들이 저장된 중앙 서버 또는 로컬 디렉터리리눅스 운영체제는 레포지토리를 통해 소프트웨어를 관리함 RHEL/CentOS/Rocky는 yum과 dnf 패키지 관리자를 사용하여 패키지를 검색, ..

카테고리 없음 2024.12.17

가상화 없이 프로젝트 환경 구축 - HashiCorp Nomad를 활용한 대체 솔루션

프로젝트를 시작하며 가장 큰 제약 사항은 컨테이너 가상화 도구(Docker 등)를 사용할 수 없다는 점 원인은 보안상의 이유로 가상화를 원천 차단하는 프로그램이 실행되고 있었기 때문  HashiCorp사의 Nomad란?경량화된 오케스트레이션 도구로,Docker 같은 컨테이너뿐만 아니라 바이너리 파일, JAR, 파이썬 스크립트 등 다양한 작업을 배포하고 관리할 수 있음 - 컨테이너 가상화 없이도 작동할 수 있다는 점에서 적합한 선택 작동 원리서버 - 클라이언트1,2,3 ...서버가 중심이 되어 클라이언트들에게 작업(JOB)을 지시하고, 서버와 소통하며 리소스를 효율적으로 관리하고 장애에 빠른 대응을 함 여러가지 서비스(몽고디비 등)를 JOB Specification(작업정의)하여 HCL(HashiCorp ..

Devops 2024.12.16
반응형