lemon-engine
Automatic Node Synchronizer between DynamoDB
+ Redis
+ Elasticsearch
over AWS
Cloud.
- NOTE 백엔드 서버에
lemon-backend-api
별도 실행 필요!
Overview
- NoSQL (DynamoDB) <-> ElastiSearch <-> Redis 데이터 동기화
- DynamoDB 업데이트시 -> 업데이트 Stream 수신 -> 변경 데이터 추적 -> ES 와 동기화.
Usage (사용법)
-
install with npm
npm install lemon-engine --save
-
create internal Service with data model
; //! create engine in global scope.const $engine = ; // deefine properties.const FIELDS = 'id' 'type' 'parent' 'name' ...;const ES_FIELDS = FIELDS; //! config engines (as example)const $model = $engine;
- build CRUD common service functions.
//! search by param// ex) { id: 1234 } => search by `id == 1234`.const do_search = { ; return $model;};
Installation (설치법)
lemon-backend-api
백본 서비스 구성- configure environment.
개발 (Development)
- TODO refer to lemon-hello-api
Deploy (NPM 모듈 배포)
package.json
의version
정보를 변경$ npm run publish
실행 (단, npm 로그인 필요!)- lemon-engine 으로 배포됨.
Contribution
Plz, request PR. See CODE_OF_CONDUCT
LICENSE
VERSION INFO
Version | Description |
---|---|
2.2.5 | improve http-request of type+id+cmd. |
2.2.4 | optimize log in init engine. |
2.2.3 | hot-fix type error of $U.dt() . |
2.2.2 | relay context as that._ctx in on_record_update() , and use common BACKBONE_API env. |
2.2.1 | hot-fix error of $protocol().do_execute() . |
2.2.0 | support enhanced type definitions. |
2.1.8 | support do_read_deep for direct reading via dynamodb. |
2.1.6 | support method PATCH in web-proxy . required backbone#2.1.4 . |
2.1.5 | custom web-proxy by _$.createWebProxy() . |
2.1.4 | support relaying headers in web-proxy . required backbone#2.1.3 . |
2.1.0 | refactoring to typescript. |
2.0.0 | rename to lemon-engine , and set to public. |