무엇을 마이크로 서비스, 마이크로 서비스 시나리오 알아보기

무엇 microService 알아보기

참조 : https://www.cnblogs.com/skabyy/p/11396571.html

A) 원래의 단점 단량체 서비스

장면 사항

요구 사항 : 샤오 명나라와 작은 가죽 함께 비즈니스 이야기 온라인 슈퍼마켓을 할 수

특징 :

웹 사이트

  • 사용자 등록, 로그 기능
  • 제품 쇼케이스
  • 순서

관리 배경

  • 사용자 관리
  • 상품 관리
  • 주문 관리

두), 사업 개발 :

  1. 웹 사이트 프로모션 시스템은 기능을 증가
  2. 휴대 기기의 증가 : 작은 마이크로 채널 프로그램을 애플리케이션 (동일한 기능 및 모바일 장치의 위치의 함수)를 이동
  3. 백그라운드에서 홍보 관리 및 데이터 분석 시스템 추가
  4. 네 개의 시스템은 데이터베이스를 공유

사업 확장 한 후 건축 단점이 발생한다;

1. 이동 통신 단말기 사이트와 동일한 비즈니스 로직 코드 중복의 많은 응용 프로그램

2. 데이터는 종종 데이터베이스 공유, 때로는 인터페이스 호출 전송하는 것입니다. 전화 인터페이스 지저분한 관계

3. 데이터베이스 테이블 구조는 복수의 어플리케이션에 의존하고 최적화를 복원 할 수없는

데이터베이스 작업 4. 모든 응용 프로그램, 데이터베이스의 성능의 급격한 하락

개발, 테스트, 배포, 단지 작은 변화 기능뿐만 아니라 함께 전체 응용 프로그램을 게시 할 경우에도 더 어려워 유지 보수,

C) 마이크로 서비스 기능 :

개요 : 공공의 운영 능력의 추상, 여러 공공 서비스를 만들어

응용 프로그램 데이터베이스 사이에서 일반적인 문제 해결 : 데이터베이스가 서비스에 해당

도서관의 요구에 걸쳐 폭포 : 문제와 도전을 생성하는 데이터베이스를 분할

D)에 대한 기록

원래 단량체 시스템에 대한 로그 : 로그, 오류 메시지를 확인하고 스택 연구를 호출

마이크로 서비스 아키텍처에서, 애벌란 효과를 일으킬 수있는 서비스 실패가 전체 시스템의 고장의 원인

E), 마이크로 서비스의 단점

1. 마이크로 서비스 아키텍처는 실패 지점을 찾기 위해 여러 서비스, 매우 어려운로 응용 프로그램 전반에 걸쳐 분산

2. 안정성 하락, 서비스 장애, 걸어 전체 시스템을 일으킬 수 있습니다

3. 서비스의 수는 매우 큰, 무거운 워크로드 배포 및 관리

4. 모든 서비스의 지속적인 개발의 경우 시너지 효과를 유지하는지 확인하는 방법

5. 시험 서비스 호출 사이의 테스트로 원래 하나의 프로그램. 테스트는 더 복잡된다

어떻게 해결하는 F) :

오류 감소 : 전 사전 적 통제, 사후 분석

감소 : 내결함성, 서비스 저하

사운드 모니터링 시스템 구축

마이크로 서비스 아키텍처, 많은 구성 요소, 각각의 서로 다른 구성 요소 지표는 다양한 구성 요소를 모니터링하는 크고 포괄적 인 모니터링 시스템을 만들기 위해, 모니터링 할 현실적인하지 않습니다 필요

예를 들면 다음과 같습니다 지표 네트워크 트래픽 모니터 데이터베이스 연결, 디스크 공간, 동시 비즈니스 서비스 모니터링의 수, 응답 지연, 에러율 등의 값을 모니터링 레디 스 캐시 메모리가 있습니다

어떻게 모니터링하는 방법 :

1. 자신의보고 인터페이스 (메트릭 인터페이스)의 현재 상태의 다양한 구성 요소

2. 인터페이스 일관된 출력 데이터 형식

3. 서비스에 대한 액세스를 제공하는 통계 수집 어셈블리 배포 이러한 인터페이스의 상태에서 획득 및 보유 조립체 타이밍

4. 드로잉 또는 알람의 임계 값에 따른 인터페이스를 모니터링 인덱스 컬렉션에서 인덱스를 쿼리 UI 필요성.

예를 들면 : 레디 스 캐시와 인덱스 인터페이스 MySQL 데이터베이스 : RedisExporter 및 MySQLExporter (온라인 오픈 소스 구성 요소)

집 전체를 사용 메테우스 인덱스로 사용

식스), 추적 링크

추적 링크는 무엇입니까?

사용자의 요청은 종종 여러 내부 서비스 호출을 포함

LT : 각 사용자 요청을 기록, 내부 기록은 마이크로 서비스 서비스 호출 수, 호출 관계를 생산

링크 추적을 구현합니다 :

1) 적어도 네 개의 서비스는 HTTP 헤더의 데이터에 기록 될 호출

1.traceId : 발신 사용자를 식별은 같은과 링크가 동일한 링크 traceId에 속하는 전화 요청

2.spanId은 : ID는 서비스 호출을 식별

spanId의 부모 노드 : 3.parentId

4.requestTime 및 RESPONSETIME : 요청 및 응답 시간

2) 통화 기록을 수집 및 저장 요소뿐만 아니라, UI 컴포넌트라는 링크를 보여

링크 추적 구현 프로세스 :

각 HTTP 요청 주입 헤더 및 통화 로그 데이터를 생성 인터셉터를 사용하여 HTTP 요청을, 지프 킨 로그 수집 용기로 비동기 전송

링크 추적 서비스는, 발생하는 문제를 대상으로 특정 오류 메시지 기능을 찾을 수있는 로그 분석 구성 요소에 의해 제공 될 필요가

로그 분석

ELK (Elasticsearch, Logstash 및 키바는) 분석 구성 요소 로그 :

Elasticsearch : 검색 엔진뿐만 아니라 매장 로그

Logstash : 컬렉션의 입력을 수신하는 로그 기록은 일부 Elasticsearch에 다음 출력 로그를 전처리하고,

키바 : UI 구성 요소는 데이터 Elasticsearch는 API를 찾아 사용자에게 표시

분석 과정 로그 :

------ logstash에 "로그 파일 -------를 스캔 한 에이전트를 배포 할 각 서비스"출력을 파일에 기록

추천

출처www.cnblogs.com/Auge/p/11609613.html