Serverless 기반 Egg를 쉽게 구축할 수 있습니다.js 웹 응용 프로그램

6016 단어 serverless신축성
먼저 본문에 나타난 몇 가지 비교적 중요한 개념을 소개한다.
함수 계산(Function Compute): 함수 계산은 이벤트 구동 서비스로 함수 계산을 통해 사용자는 서버 등의 운행 상황을 관리할 필요가 없고 코드를 작성하여 업로드하기만 하면 된다.함수 계산은 계산 자원을 준비하고 사용자 코드를 탄력적으로 신축하는 방식으로 운행하며 사용자는 실제 코드 운행에 소모된 자원에 따라 비용을 지불해야 한다.함수 계산 추가 정보
참고 자료 .
Fun: Fun은 Serverless 응용 배치를 지원하는 도구로 함수 계산, API 인터페이스, 로그 서비스 등 자원을 간편하게 관리할 수 있습니다.이것은 자원 설정 파일 (template.yml) 을 통해 개발, 구축, 배치 작업을 돕습니다.Fun에 대한 추가 문서
참고 자료 .
비고: 본고에서 소개한 기교는 Fun버전이 3.6.9보다 커야 한다.

Egg.js가 뭐예요?


Egg.js 공식 설명:
Egg.js는 기업급 프레임워크와 응용을 위해 생겨났습니다.Egg.js는 더 많은 상부 구조를 배양하여 개발팀과 개발자가 개발과 유지보수 비용을 낮추는 것을 돕는다.
Egg는'약정이 배치보다 낫다'는 약속을 지키고 통일된 약정에 따라 응용 개발을 한다. 팀 내부에서 이런 방식을 사용하면 개발자의 학습 비용을 줄일 수 있고 개발자는 더 이상'못'이 아니라 유동할 수 있다.
Egg의 플러그인 메커니즘은 매우 높은 확장성을 가지고 있으며, 하나의 플러그인은 한 가지 일만 한다.Egg는 프레임워크를 통해 이 플러그인들을 집합하고 자신의 업무 상황에 따라 맞춤형 설정을 하면 응용 프로그램의 개발 원가가 매우 낮아진다.
Egg 기능:
  • Egg 기반 맞춤형 상부 프레임 기능 제공
  • 확장성이 뛰어난 플러그인 메커니즘
  • 내장형 다중 프로세스 관리
  • Koa 기반 개발로 우수한 성능
  • 프레임워크가 안정적이고 테스트 범위가 높다
  • 점진적 개발
  • 샘플 효과 미리 보기


    본 문서에서 다루는 응용 프로그램 예시 배치 후의 링크는 미리 보기 효과를 클릭한다.
    Egg.js 응용 예: http://mtime.functioncompute.com/hot

    환경 준비


    먼저 Fun설치 문서에 소개된 방법에 따라 Fun을 본기에 설치한다.
    PS: 본고에서 소개한 방법은 Docker를 설치할 필요가 없고 Fun만 설치하면 된다. 가장 간단한 방법은 실행 가능한 바이너리 파일을 직접 다운로드하는 것이다.
    설치가 완료되면 fun --version을 실행하여 Fun이 성공적으로 설치되었는지 확인할 수 있습니다.

    첫 번째 예: Egg를 신속하게 초기화하고 배포합니다.js 예시 응용


    정부빠른 시작 문서에 기술된 절차는 다음과 같다.
    egg를 초기화합니다.js 예:
    mkdir egg-example && cd egg-example
    npm init egg --type=simple
    npm i

    테스트를 로컬에서 실행하려면 다음과 같이 하십시오.
    npm run dev

    그런 다음 브라우저에서 http://127.0.0.1:7001에 액세스하여 효과를 볼 수 있습니다.
    로컬 개발이 완료되면 바로 다음 명령을 사용하여 원클릭으로 배치할 수 있습니다.
    fun deploy -y 

    두 번째 예: 기존 Egg를 빠르게 마이그레이션합니다.js 응용


    여기 우리 오픈소스 에그 하나 가져와.js 웹 응용 프로그램 예시: https://github.com/OrangeXC/mtime
    우선 애플리케이션을 복제해야 합니다.
    git clone https://github.com/OrangeXC/mtime

    mtime 디렉터리에 들어가서 npm 설치 의존도를 사용하십시오:
    npm install

    로컬 부팅 애플리케이션:
    npm run dev

    로컬에서 응용 프로그램을 시작할 때 config/config.default.js 이 설정을 사용합니다. 이 설정의 mysql의username,password 등 속성을 정확한 값으로 설정해야 응용 프로그램을 시작할 수 있습니다.
    시작이 완료되면 로컬에서 브라우저를 통해 웹 주소http://127.0.0.1:7001 미리 보기를 엽니다.
    로컬 테스트가 끝난 후에, 우리는 그것을 어떻게 온라인에 배치할 것인가를 고려해야 한다.온라인으로 배포, Egg.js는 기본적으로 config/config.prod.js의 설정을 우선적으로 사용합니다. 우리는 온라인 데이터베이스를 이 파일에 설정할 수 있습니다. 그러면 로컬 개발과 온라인 배치가 서로 다른 데이터베이스를 사용하는 목적을 실현할 수 있습니다.
    물론 로컬에서도 설정이 정확한지 확인할 수 있고 직접 사용npm run start하면 응용을 생산 방식으로 실행할 수 있으며 사용npm run stop하면 응용을 정지할 수 있다.
    마지막으로, 우리는 Egg를 수정해야 한다.js의 캐시와 로그 디렉터리입니다. 다음 내용을 config/config.prod.js 에 추가합니다.
      config.rundir = '/tmp/run',
      config.logger = {
        dir: '/tmp/log',
      }

    위의 구성은 Egg.js 캐시와 로그는 함수 계산의 쓰기 가능한 디렉터리에 기록됩니다. (로그를 console에 출력해도 됩니다.)
    마지막으로 Fun 키를 사용하여 배포합니다.
    fun deploy -y

    배치가 완료되면 터미널 출력에서 임시 도메인13500180-1986114430573743.test.functioncompute.com을 볼 수 있고 브라우저를 통해 임시 도메인을 열면 로컬에서 실행할 때와 같은 효과를 볼 수 있다.

    총결산


    이 글은 주로 어떻게 Egg를js 응용 프로그램이 함수 계산에 배치되었습니다.기존 배치 방법과 비교하면 더 복잡하지 않을 뿐만 아니라 기계 구매, 배치 노드, Npm 설치 절차도 생략했다.기존 Egg를 구현할 수 있습니다.js 응용은 로컬 개발이 완료된 후 원격으로 원격으로 배치하여 직접 생산에 사용되며 신축성 신축, 양에 따라 비용 지불, 운송 면제 등 특성을 가지고 있다.
    만약에 응용 프로그램을 이전하는 과정에서 문제가 발생하면 저희 딩그룹 11721331에 가입하신 것을 환영합니다.

    알리바바 클라우드 오리지널 마이크로 서비스, Serverless, 용기, 서비스 메시 등 기술 분야에 주목하고 클라우드 네이티브 유행 기술 추세, 클라우드 네이티브 대규모 착지 실천에 초점을 맞추어 클라우드 네이티브 개발자를 가장 잘 아는 기술권을 만든다.

    좋은 웹페이지 즐겨찾기