oim-server는 Java 언어로 개발되고 Spring Cloud 마이크로서비스 아키텍처를 사용하는 OIM 채팅 시스템의 서버 측입니다. 시스템이 충분하다면 사용자는 문제가 되지 않습니다.
OIM 서비스는 Java 언어를 사용하고 Spring Cloud 마이크로서비스 시스템을 기반으로 개발된 인스턴트 메시징 서버 세트입니다. 독립형 머신에서 마이크로 서비스까지 배포 가능한 솔루션이 제공되며, 독립형 머신과 마이크로 서비스 모두 원활하게 전환될 수 있으며 클라이언트는 서비스 변경을 인식할 수 없습니다.
특징
oim-server를 사용하면 spring mvc와 같은 인스턴트 메시징 인터페이스를 개발할 수 있습니다. 웹 배경 개발 경험은 있지만 인스턴트 메시징 서버 경험이 없는 개발자의 경우 쉽게 변환할 수 있으며 spring 웹 인터페이스와 호환됩니다. 아래와 같은 예
요청 인터페이스 @RestControllerpublic 클래스 UserController {/** * * 로그인
* 날짜 2019-02-17 12:26:38
* * @param user * @since 1.0.0 */@ActionMapping(value = " /user/login") // 이 경로는 http 게시물을 사용하여 공개 사용자 로그인을 요청할 수도 있습니다(@Define("body.user") User user) { // "body.user"(이 본문은 http 프로토콜의 본문이 아니라 json의 본문 필드입니다.) // http 또는 tcp에 있는 메시지 본문의 json 속성 경로입니다. {"body":{"user":{ }}}// ...구현 내용 생략 사용자 반환;}}
카탈로그 설명
|__oim-server-run #Java service|__cloud #Microservice running version|__common #Publiclydependent jar |__oim-server-element-basic-* #이것은 일부 추상적 정의를 포함하여 독립형 서비스와 마이크로서비스가 모두 의존하는 부분입니다. . 서비스와 독립 실행형 시스템의 구현이 다릅니다|__oim-server-element-cloud-* #이것은 마이크로서비스에 필요한 종속성입니다. 마이크로서비스에 대한 일부 구현|__service #실행 중인 각 마이크로서비스|__core #주로 기술관리형 마이크로서비스(등록센터, 게이트웨이 등) |__action #모든 서비스의 인터페이스 주소를 수집하여 게이트웨이가 서비스명 설정 없이 인터페이스 주소를 통해 해당 서비스에 직접 접근할 수 있도록 |__admin #Only spring boot admin과 통합됨 |__center #등록 센터|__gateway #Gateway|__net #인스턴트 메시징을 위한 TCP 및 WebSocket과 같은 긴 연결 서비스|__control은 (네트워크) 사용자 클라이언트 긴 연결 서비스를 관리하는 데 사용됩니다|__work 사용자 클라이언트 긴 연결 서비스|__지원 #파일업로드 등의 공공지원 서비스 |__file |__system #전체 시스템 구성, 공유 데이터 등 |__setting # |__work #비즈니스 서비스 (비즈니스가 너무 길기 때문에 이 이름이 쉬운 곳이 또 있습니다. 사용) |__chat # 채팅 비즈니스|__contact #Contact|__core #Core: user|__group #Group|__portal #서비스 주소 입구|__single # |__oim-server-single-main # 독립형 및 마이크로서비스의 기능 모듈이 공유되므로 여기에 몇 가지 추상적인 독립형 구현이 있습니다|__oim-server-single-running #서비스 구성 시작|__oim-server-web # Vue 백그라운드 관리 인터페이스
OIM 개발 지침
1. 환경적 요구사항
JDK 1.8.0_xxx
DB는 MySQL을 지원합니다. Oracle SQL 서버는 MySQL 8.0을 권장합니다.
마이크로서비스에는 다음 사항도 필요합니다.
레디스
RaadfdsitMQ
2. 마이크로서비스 버전 및 사용 정보
마이크로서비스 버전의 비즈니스 코드와 비즈니스 코드가 공유되므로 비즈니스 모듈은 모두 마이크로서비스 디렉터리에 있습니다. IM 긴 연결 처리에만 차이가 있으므로 독립 실행형 시스템과 마이크로서비스는 다르게 처리해야 합니다.
이 장소는 인터페이스로 추상화되어 다양한 시작 서비스에서 구현됩니다.
3. 다운로드할 수 없는 일부 종속성에 대해
일부 종속성은 Maven 중앙 라이브러리에 게시되지 않았지만 내 개인 라이브러리에 있기 때문에 Maven 전역 구성 파일(일반적으로 사용자 디렉토리.m2/setting.xml)에서 구성할 수 없습니다.
미러 서비스 (중간 부분 댓글 또는 삭제)
비공개 라이브러리 Maven 구성 프로젝트가 구성되었습니다.
4. 데이터베이스 스크립트 정보
먼저 데이터베이스를 생성하고 데이터베이스 구성을 수정한 후 자동 테이블 생성을 시작하면 됩니다. 현재 기본 H2 데이터베이스에서 테이블을 생성하는 데 문제가 있습니다. MySQL 8.0을 사용하는 것이 좋습니다.