Nacos 서비스 인스턴스 데이터의 클러스터 동기화 과정

Nacos 서버가 서비스 등록 요청을 처리할 때, 내부적으로 클라이언트 변경 이벤트(ClientChangedEvent)를 발생시킵니다. 이 이벤트는 주로 임시 클라이언트 작업 서비스 구현체(EphemeralClientOperationServiceImpl) 내의 addServiceInstance 메서드 호출 체인을 통해 시작됩니다. public boolean addServiceEntry(ServiceIdentity svcIdentifier, InstanceRegistrationIn ...

8월 18일 23:51에 게시됨

Spring Cloud Gateway 구축 및 Nacos, Sentinel 연동 방법

Gateway 모듈 생성 및 기본 설정 마이크로서비스 아키텍처에서 각 서비스(사용자, 상품, 주문 등)의 진입점을 단일화하기 위해 서비스 게이트웨이 모듈인 shop-gateway를 구축합니다. 의존성 추가 게이트웨이 모듈의 pom.xml 파일에 Spring Cloud Gateway 스타터 의존성을 추가합니다. <dependencies> <dependency> <groupId>org.springfra ...

7월 23일 06:12에 게시됨

센티널 규칙 지속성 관리 전략

센티널 세 가지 관리 모식 전송 방식 설명 장점 단점 기본 방식 API가 규칙을 클라이언트에 푸시하여 메모리에 저장, 확장 가능한 쓰기 데이터 소스(WritableDataSource) 활용 간단하며 의존성 없음 일관성 보장 불가, 규칙 지속성 없음, 재시작 시 규칙 소실 Pull 방식 확장 가능한 쓰기 데이터 소스(WritableDataSource), 클라이언트가 주기적으로 규칙 관리 ...

7월 10일 18:09에 게시됨

Ubuntu 16.04에서 Nacos 클러스터 구성하기

환경 준비 및 설치 다음 세 대의 서버를 사용하여 Nacos 클러스터를 구축합니다: 192.168.88.44 192.168.88.45 192.168.88.46 Nacos 서버 패키지 파일을 각 서버의 /opt/nacos 디렉토리로 복사한 후, 압축을 해제합니다: tar -zxf nacos-server-2.0.3.tar.gz 데이터베이스 설정 MySQL 서버에서 다음 명령어로 nacos_config 데이터베이스를 생성하고 스키마를 적 ...

6월 27일 16:41에 게시됨

Kubernetes에서 Seata 고가용성 배포 및 구성

1. Seata 데이터베이스 초기화 curl -o mysql.sql https://raw.githubusercontent.com/apache/incubator-seata/1.3.0/script/server/db/mysql.sql mysql -h rm-uf6ivpxt4j5rrpqal.mysql.rds.aliyuncs.com -uroot -p CREATE DATABASE IF NOT EXISTS seata_config DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; USE seata_config; SOURCE /root/mysql.sql; CREAT ...

6월 22일 21:56에 게시됨

AgentScope에서 Nacos와 MCP 및 Tool 통합하기

핵심 구성 요소 MCP (Model Context Protocol): 표준화된 도구 서비스입니다. Tool: 함수, API 또는 플러그인 형태의 기본 기능 단위입니다. Nacos: 서비스 등록, 검색 및 상태 확인을 담당하는 레지스트리입니다. 원격 호출: 로컬 에이전트가 Nacos를 통해 MCP 주소를 자동으로 탐색하고 연결하여 Tool을 실행합니다. 작동 원리 주요 역할 MCP 서버 독립적으로 실행 ...

6월 20일 06:49에 게시됨

k8s에서 seata 단일 서버 배포 설정

1. Seata 데이터베이스 초기화 curl -o mysql.sql https://raw.githubusercontent.com/apache/incubator-seata/1.3.0/script/server/db/mysql.sql mysql -uroot -p CREATE DATABASE IF NOT EXISTS seata CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE seata; SOURCE /root/mysql.sql; CREATE USER 'seata'@'%' IDENTIFIED BY 'MXl#GX8hw0wEv!ID'; GRANT ALL ...

6월 19일 01:41에 게시됨

Nacos 서버 설정 및 주요 문제 해결 방법

문제 발생 시 아래 해결책 참고 com.alibaba.nacos.api.exception.NacosException: Client not connected, current status: STARTING at com.alibaba.nacos.common.remote.client.RpcClient.request(RpcClient.java:639) ~[nacos-client-2.2.0.jar:na] 최근 마이크로서비스 프로젝트를 공부하며, 친구들과 함께 사용할 수 있도록 서버에 Nacos를 배포해보기로 했습니 ...

6월 17일 22:46에 게시됨

Spring Gateway로 구현하는 API 게이트웨이

Netflix OSS와 Spring Cloud의 관계 2020년 이전 마이크로서비스 생태계에서는 Netflix가 오픈소스로 공개한 다양한 컴포넌트가 표준처럼 사용되었다. 현재는 Spring Cloud Alibaba가 대체재로 자리 잡았지만, 여전히 레거시 시스템에서 Netflix 스택을 접할 수 있다. Spring Cloud AlibabaNetflix OSS역할 NacosEureka서비스 디스커버리 DubboRibbon + FeignRPC 기반 서 ...

6월 13일 23:07에 게시됨

스프링 클라우드를 활용한 마이크로서비스 아키텍처 구축

모놀리식(Monolithic) 아키텍처는 모든 기능 모듈이 단일 프로젝트 내에서 개발되고 배포 시 함께 컴파일 및 패키징되는 구조입니다. 이는 초기 단계의 프로젝트나 소규모 팀에는 단순하고 효율적일 수 있습니다. 하지만 비즈니스 규모가 확장되고 개발 인력이 증가함에 따라 여러 문제점이 드러납니다. 모놀리식 아키텍처의 한계: 높은 팀 협업 비용: 모든 모듈이 ...

6월 13일 22:10에 게시됨