N2O: TCP MQTT 웹소켓
N2O는 WebSocket, HTTP, MQTT 및 TCP 서버를 위한 내장형 메시지 프로토콜 루프 라이브러리입니다. 프로세스 관리, 요청 처리를 위한 가상 노드 링, 세션, 프레임 인코딩, 외부 mq 및 캐싱 서비스를 위한 통합 API와 같은 기본 기능을 제공합니다.
핵심 기능
- 목적: 고성능 프로토콜 릴레이
- 엔드포인트: WebSocket, MQTT, TCP
- 코드베이스: 700 LOC(Erlang), 500 LOC(JavaScript)
- 투석기: REBAR, REBAR3, MAD, MIX
- 호스트: BANDIT, COWBOY, EMQ, MOCHIWEB, RING, TCP, UDP
- PubSub: GPROC, SYN, PG2
- 포맷터: JSON, BERT, ASN.1
프로토콜 확장
- 템플릿: DTL, NITRO
- 추상 데이터베이스 계층 KVS: FS, MNESIA, ROCKSDB, RIAK, REDIS
- 비즈니스 프로세스: BPE(BPMN 2.0), SCM, ERP, CRM
- HTTP API: REST(proplist/JSON)
- 활성 재로딩: GNU/Linux, Windows, macOS
기본 샘플
- MQTT 채팅: TT 검토(8000)
- WebSocket 채팅: 샘플 WS(8001)
기업 샘플
- 온라인 고객 은행: BANK (8041)
- 인스턴트 메시징: CHAT(8042)
- 제품 라이프사이클 관리: PLM(8043)
동기 부여
N2O는 소프트웨어 개발에 명확성과 온전함을 제공하기 위해 만들어졌습니다. 배포 모델은 ISC 라이센스를 사용하는 파일 단위입니다.
핵심
핵심 모듈은 OTP 시작 및 N2O 진입점을 제공합니다.
- n2o — N2O OTP 감독자 및 애플리케이션
- n2o_pi — N2O 프로세스
- n2o_proto — N2O 루프
- n2o_ring — N2O 링
MQTT
MQTT 버전은 RPC over MQ 패턴으로 구현됩니다. N2O 서비스 작업자는 각각 N2O 루프를 실행하는 가상 노드 링으로 시작됩니다.
- n2o_mqtt — N2O MQTT 가상 노드
- n2o_auth — N2O 인증
mad app zero review
cd review
mad dep com pla rep
open http://127.0.0.1:8000
웹소켓
N2O Loop는 WebSocket 핸들러의 컨텍스트 내에서 직접 연결되어 실행됩니다. 일반적으로 Erlang에서는 syn
또는 gproc
OTP 메시지 버스를 사용합니다. 이러한 버스는 MQTT 설정에서 선택 사항이므로 WebSocket 패키지에 버스 드라이버가 포함됩니다.
- n2o_ws — N2O 웹소켓 가상 노드
- n2o_heart — PING 프로토콜
- n2o_cowboy — 카우보이 API
- n2o_gproc — GPROC 버스 백엔드
- n2o_syn — SYN 버스 백엔드
mad app nitro sample
cd sample
mad dep com pla rep
open https://127.0.0.1:8001/app/index.htm
프로토콜
N2O에는 3가지 선택적 프로토콜이 함께 제공됩니다.
- n2o_ftp — N2O 파일 프로토콜
- n2o_heart — N2O 하트 프로토콜
- nitro_n2o — 질소 웹 프레임워크 프로토콜
- bpe_n2o — 비즈니스 프로세스 엔진 프로토콜
서비스
포맷터, 세션 등. 선택 사항입니다.
- n2o_bert — BERT 인코더/디코더
- n2o_json — JSON 인코더/디코더
- n2o_secret — AES/GCM-256 인코더/디코더
- n2o_session — ETS 세션 저장
자바스크립트
- bert.js — BERT 인코더/디코더
- utf8.js — UTF8 인코더/디코더
- ieee754.js — IEEE754 인코더/디코더
- heart.js — HEART 프로토콜
- ftp.js — FTP 프로토콜
- n2o.js — N2O 프로토콜 루프
- mq.js — MQTT 클라이언트
문학
- "N2O: 와일드 웹을 위한 정상적인 프레임워크는 없습니다." PDF(버전 0.11—4.4)
- "N2O BOOK Vol.2 그린북" HTML (버전 4.5~9.11)