CreditEase 오픈 소스 마이크로 작업 스케줄링 서비스 플랫폼 SIA-TASK

  

배경

여부 또는 인터넷 애플리케이션, 엔터프라이즈 애플리케이션은 일괄 처리 작업의 큰 숫자로 채워져있다. 작업 스케줄링 시스템은 종종 도움 개발자는 문제를 해결해야합니다. 마이크로 서비스 아키텍처의 점진적 발전으로 점차 분산 아키텍처 모노머, 마이크로 서비스 아키텍처로 진화. 이러한 맥락에서, 원래의 작업 스케줄링 플랫폼의 많은 비즈니스 시스템의 요구를 충족시킬 수 없다. 그래서 일부 분산 작업 기반 관리 플랫폼이 있습니다. 이 플랫폼은 자신의 특성을 가지고 있지만 등 크로스 플랫폼을 지원하지 않는 작업 예약, 비즈니스 높은 커플 링을 지원하지 같은 자신의 단점,에서. 아주 서비스의 차세대 마이크로 아키텍처의 요구를 충족하지, 따라서이 회사는 마이크로 작업 스케줄링 서비스 플랫폼 (SIA-TASK)을 개발했다고 생각한다.

SIA는 SIA-TASK (마이크로 작업 스케줄링 서비스 플랫폼) 크로스 플랫폼 레이아웃, 높은으로, SIA-TASK 현재 마이크로 서비스 아키텍처 모델을 맞는 중요한 제품 중 하나, 최고 약어입니다 간단한 개발 플랫폼을 기반으로 회사에 적합한 문자 그래서 가능한 비 침습적 일관성 비동기 병렬 동적 확장 실시간 모니터링.

계획

SIA-TASK 작업 스케줄링은 하나 개의 솔루션입니다. 메타 데이터 수집 작업, 태스크 시각적 레이아웃, 최종 작업 스케줄링하고, 사용하기 쉽고, 전체 프로세스를 모니터링하는 작업에 걸릴. 사업이 완전히 비 침습적, 작업 스케줄링 모델은 간단하고 유연한 구성을 통해 기대에 부합 생성 할 수 있습니다.

SIA-TASK 레퍼런스 디자인 마이크로 서비스, 각 작업 실행에 배포 작업 메타 데이터에 액세스하고 작업 레지스트리에 업로드. JSON 통합 데이터 형식과 HTTP 프로토콜을 사용하여 작업 스케줄링으로, 동적으로 클럭을 수정하는 작업을 온라인 스케줄링 작업을 사용하는 것은 제어 센터, 공정 작업, 작업의 통지에 의해 구문 분석 클록 킹.

주요 용어

  • 작업 (태스크) : 기본적인 실행 유닛, HTTP 호출 인터페이스의 밖으로 노출 액츄에이터;
  • 작업 (작업)는 서로 (직렬 / 병렬) 하나 개 이상의 논리적 관계의 존재, 스케줄링 작업의 최소 단위를 파견 센터 태스크;
  • 계획 (계획) : 작업 실행 순서의 수는 각 작업은 어떤 계획을 구현 사이클이없는, 자신의 실행주기를 가지고;
  • 미션 제어 센터 (스케쥴러)은 각 작업의 실행 기간에 따라 스케쥴링을 수행하는, 즉 논리 프로그램, 작업, 작업에 따른 HTTP 요청;
  • 작업 예약 센터 (구성) : 안무 센터의 계획 및 운영을 만드는 작업을 사용하여;
  • 작업 실행 (실행 부) : 서비스 로직의 HTTP 요청의 실행을 수신하는 단계;
  • 헌터 : 봄 프로젝트 확장 팩, 작업 캡쳐, 업로드 등록 센터의 구현에 대한 책임, 사업이 구성 요소에 의존 할 수는 작업 기록.

마이크로 서비스 작업 스케줄링 플랫폼의 특성

  • 주석 작업에 따라 레지스트리에 업로드하면 자동 OnlineTask가 자동으로 메소드의 IP 주소가 위치한 포트, 경로 요청, 요청 방법, 요청 매개 변수 형식 및 기타 정보를 사로 잡고 @, HTTP 서비스 방법에 대한 노출에 @OnlineTask 주석을 추가하는 작업을 잡아 즉 (사육사), 기록 및 동기 영구 저장소, 이러한 방법의 작업;
  • 주석 기반의 비 침습적 멀티 스레드 제어, 단일 작업 인스턴스가 자동으로 코멘트 @OnlineTask 단일 스레드 운영 제어를 차단하기 위해 단일 스레드 작업 스케줄링 프레임 워크를 실행해야 작업이 실행되고 유지 다시 예약 할 수 없습니다. 그리고 전체 프로세스는 완전히 개발자의 인식을 제어 할 수 있습니다.
  • 적응 형 스케줄러 작업 할당, 실패는 작업의 이상을 실행하는 동안 발생했습니다. 다중 작업에 따라 중단 임무를 보장하기 위해 작업을 다시 각성하는 정책을 정의 할 수 있습니다.
  • 매우 유연한 태스크 스케줄링 모드, SIA-TASK 설계 철학 원자 태스크 기반으로 다수의 작업이 실행에 따른 작업 관계를 형성하도록 결합된다. 하여 작업 스케줄링에서 작업의 구성과 떨어져 서로의 간격 있도록 중앙 작업 스케줄링 및 작업 예약 센터로 실행하는 동안. 우리가 작업의 흐름을 조정해야하는 경우, 우리는 안무의 중심에서 처리 될 필요가있다. 한편 안무 중앙지지 직렬, 병렬 작업 및 조직 관계의 다른 지점. 다른 작업은 동일한 작업 인스턴스에서, 또한 스케줄링 처리의 다양한 지원합니다.

마이크로 서비스 작업 스케줄링 플랫폼

SIA-TASK는 다섯 개 부분으로 나누어 져 있습니다 :

  • 작업 실행
  • 미션 컨트롤 센터
  • 작업 스케줄링 센터
  • 작업 레지스트리 (사육사)
  • 영구 저장 장치 (MySQL의) 

SIA-TASK 주요 운영 논리 :

  1. 작업의 주석 작업 크롤링 작업 실행하여 레지스트리에보고
  2. 미션에서 데이터를 얻기 위해 작업 스케줄링 센터는 영구 저장소를 조율 레지스트리를 저장합니다
  3. 미션 컨트롤 센터는 지속적 스케줄링에서 획득 한 정보를 저장
  4. 스케줄링 작업 실행 논리적 액세스에 따라 미션 컨트롤 센터 

UI 미리보기

홈 모니터링은 다차원를 제공합니다

  • 발송자 정보 : 디스플레이 스케줄링 정보 (부하 용량, 조기 경보 값)뿐만 아니라, 작업의 분포.
  • 정보 예약 : 노출 제어 센터, 트리거 작업, 작업, 다차원 스케줄링 통계입니다 전달합니다.
  • 통계 도킹 프로젝트 : 등등 프로젝트 통계 시스템, 작업 번호, 작업 번호 등을 사용할 수 있습니다.


작업 스케줄링 모니터링은 실시간 모니터링을 보여주기 위해 제출되었습니다 제공합니다. 

  • 작업 상태를 실시간으로 모니터링 : 단위 패널로 프로젝트 팀은 작업을 보여주는 것은 상태를 실행합니다.
  • 실시간 로그 상관 관계 : 실시간 상관 관계를 로그는 상태 아이콘을 착색에 의해 설명 될 수있다.


작업 관리 : 작업 메타 데이터 관련 작업

  • 메타 데이터 입력 작업 : 작업 수동 모드, 당신은 여기에 입력 할 수있다.
  • 연결 테스트 작업 : 연결 기능 검사를 제공하는 작업.
  • 다른 작업 메타 데이터 작업 : 삭제, 수정합니다.


작업 관리 : 작업 관련 작업

  • 작업 스케줄링 : 조율 작업.
  • 게시 작업 : 작업 생성, 수정, 출판.
  • 계단식으로 배열 : 시간에 따른 작업의 집합을 제공하는 존재한다.


로그 관리

  • 지역 로그 : 로그인 인터페이스는 빠르고 간편하며 쿼리입니다; 로그 빠른 쿼리를 칠 일 스케줄 로그를 제공합니다.

보기 프로젝트

https://www.oschina.net/p/sia-task

저자 : CreditEase 개발 플랫폼 관리자 / 수석 건축가 리앙 신화

추천

출처www.oschina.net/news/106999/opensource-sia-task