Mendix 확장 가능하고 가용성이 높은 앱을 구현하는 7가지 런타임 변경 사항 | Mendix

메인 컨텐츠로 가기

Mendix 확장 가능하고 고가용성 앱을 가능하게 하는 7가지 런타임 변경

의 많은 Mendix 7가지 기능이 발표됨 Mendix 최근 몇 달 동안 World 2016이 출시되었습니다. 이 블로그 게시물에서는 이번 달 출시에서 가장 중요한 변경 사항 중 하나를 강조합니다. 새로운 Mendix 실행 시간.

한 부분이 있습니다 Mendix 7. 우리가 그동안 별로 이야기하지 않았던 것들 Mendix 세계 2016: 이동 Mendix 완전히 새로운 무상태 아키텍처로의 런타임. 이번 달에 출시했습니다. Mendix 7.0은 확장성과 가용성을 개선하는 릴리스입니다. Mendix 응용 프로그램이 상당히 다양합니다. Mendix 7.0에는 확장성을 개선하기 위한 중요한 단계도 포함되어 있습니다. Mendix Java 액션, 모듈 및 커넥터 키트를 통한 플랫폼.

이 문서에서는 이러한 확장성 및 확장성 개선 사항에 대한 개요를 제공합니다. 이 릴리스의 모든 개선 사항에 대한 전체 개요는 다음을 참조하세요. 출시 노트.

상태 없는 런타임

Mendix 다양한 수단을 통해 항상 고가용성과 확장성을 지원해 왔습니다. 작년 Mendix 6 도입 상태-데이터베이스 여러 런타임 인스턴스 간에 상태를 공유합니다. 이를 통해 원활한 장애 조치와 여러 런타임 인스턴스 간에 요청 분산이 가능해졌습니다.

Mendix 7은 복잡한 애플리케이션에 대한 여러 런타임 간 요청의 원활한 분산을 지원하고 성능을 개선하기 위해 차세대 확장성과 가용성을 도입합니다. Mendix 런타임은 이제 완전히 무상태입니다. 즉, 요청 사이에 데이터는 데이터베이스나 클라이언트(모바일 앱 또는 브라우저)에 저장되지만 더 이상 Mendix 실행 시간.

어떻게 작동합니까?

큰 건축적 개선 Mendix 7은 런타임이 더 이상 사용자가 작업하는 데이터를 추적하지 않는다는 것입니다. 대신, Mendix 클라이언트는 이 모든 정보를 추적합니다. 런타임에 대한 요청이 완료되고 관련 데이터가 데이터베이스에 저장되거나 클라이언트로 전송되면 런타임은 런타임의 모든 상태를 정리합니다. 저장되지 않은 변경 사항은 클라이언트로 전송되고 클라이언트가 후속 요청에 대해 런타임에 제공합니다.

이것은 당신에게 많은 이점을 제공합니다 Mendix 신청 :

  • 클라이언트는 요청에 관련된 데이터를 런타임에 전송합니다. 즉, 런타임은 관련 데이터를 즉시 가지고 있으며 별도의 상태 데이터베이스에서 가져올 필요가 없습니다. 또한 이는 런타임이 요청을 처리하는 데 필요한 상태의 양을 제한합니다. 요청의 크기를 최적화하려면 Mendix 플랫폼은 애플리케이션 모델을 분석하여 애플리케이션에 필요한 데이터가 무엇인지 확인합니다.
  • 가비지 수집을 보다 효과적으로 수행할 수 있습니다. 클라이언트, 브라우저 또는 모바일 앱은 사용자에게 제공되는 페이지에 여전히 필요한 데이터가 무엇인지 정확히 알고 있습니다. 데이터가 더 이상 필요하지 않으면 클라이언트에서 제거할 수 있습니다. 반면에 런타임은 요청 후 항상 모든 데이터를 제거할 수 있습니다. 즉, 런타임 인스턴스에 대한 메모리 요구 사항이 감소합니다.
  • 고가용성과 확장성을 제공하기 위해 복잡한 서버 측 조정이 필요하지 않습니다. 클라이언트 요청은 조정된 상태나 논리 없이 모든 런타임에서 처리할 수 있습니다. 브라우저는 브라우저 요청을 처리하는 데 필요한 모든 컨텍스트를 제공합니다. 장애 조치의 경우, 요청을 처리할 수 있는 일부 런타임 인스턴스가 있는 한 특별한 것을 구현할 필요가 없으며 브라우저에 응답이 제공될 수 있습니다. 마찬가지로 확장성의 경우, 더 많은 사용자를 처리하는 런타임 인스턴스를 추가하면 기본적으로 더 많은 런타임 인스턴스를 추가하는 것을 의미합니다. 모든 사용자 요청은 이제 더 큰 런타임 인스턴스 풀에서 처리할 수 있습니다.

클라우드 지원

의 또 다른 이점 Mendix 7 접근 방식은 인프라 복잡성을 줄이는 것입니다. 상태는 이제 다음에 의해 유지되므로 상태 데이터베이스가 더 이상 필요하지 않습니다. Mendix 고객. Mendix 6에는 애플리케이션 데이터베이스나 Redis와 같은 상태 데이터베이스가 필요했습니다.

이 요구 사항을 제거하면 설치 및 유지 관리가 간소화되어 배포가 더 쉬워집니다. Mendix 우리가 지원하는 모든 다양한 클라우드에서. 무상태의 가용성 및 확장성 이점 Mendix 런타임은 Bluemix 및 Pivotal과 같은 퍼블릭 Cloud Foundry 플랫폼을 포함한 모든 배포 시나리오에서 사용할 수 있습니다. 또한 Azure 및 AWS에서 배포 지원과 함께 사용할 수도 있습니다.

그리고 마지막으로, Mendix 클라우드에서는 슬라이더를 드래그하여 앱에 할당하는 런타임 수를 늘리는 간단한 방법으로 수평적 확장성을 구현할 수 있습니다.

이주

대부분의 개발자에게 있어, 가용성과 확장성이 뛰어난 애플리케이션을 구축한다는 것은 코드에 대한 특별한 고려가 필요하다는 것을 의미합니다. Mendix 개발자의 이러한 노력을 제거합니다. 우리는 마이그레이션을 가능한 한 쉽게 만들기 위해 상당한 노력을 기울였습니다. 상태 없는 런타임은 대부분에 최소한의 영향을 미칩니다. Mendix 모델.

가장 중요한 변경 사항은 읽기 또는 쓰기 권한이 없는 비영구적 엔터티에 더 이상 속성을 가질 수 없다는 것입니다. 그 이유는 간단합니다. 비영구적 엔터티는 데이터베이스에 저장되지 않습니다. 즉, 클라이언트는 이러한 객체를 추적해야 합니다. 그러나 이는 또한 이 데이터를 클라이언트로 보내 클라이언트에서 데이터를 사용할 수 있도록 해야 하며, 이를 위해서는 읽기 권한이 필요합니다. 마이그레이션 가이드 설명 이런 상황에 직면했을 때 애플리케이션 모델을 개선하는 방법.

모니터링

앞서 언급했듯이 클라이언트는 모든 관련 데이터를 런타임에 보냅니다. 효율적인 확장 가능한 애플리케이션을 빌드하는 데 도움이 되도록 모든 요청에 ​​필요한 상태의 크기를 알려주는 정보를 런타임 로그에 추가했습니다. 또한 많은 양의 상태가 사용되는 경우 경고가 표시됩니다. 이를 사용하여 최적화할 수 있습니다. Mendix 응용 프로그램 모델. 자세한 내용은 다음을 참조하세요. 마이그레이션 가이드.

예를 들어, 다음 로그 메시지는 브라우저에서 런타임으로의 요청에 총 4개의 객체가 포함되어 있다고 보고합니다. 또한 관련된 각 엔터티도 지정합니다.

모니터링 예제

개발자 툴링

효율적인 애플리케이션을 개발할 수 있도록 클라이언트에 개발자 지원도 포함했습니다. 웹 브라우저의 기본 개발자 도구를 사용하여 클라이언트와 서버 간의 객체 통신을 검사할 수 있습니다. 또한 클라이언트 상태에서 사용할 수 있는 객체에 대한 정보도 제공합니다. 이는 특히 JavaScript 개발자가 견고한 사용자 지정 위젯을 작성하는 데 도움이 될 것입니다.

확장 성

확장성은 모든 플랫폼의 중요한 측면입니다. 특히 요즘은 많은 기존 제품 및 서비스와 통합해야 할 때 더욱 그렇습니다. Mendix 철학은 플랫폼을 쉽게 확장할 수 있도록 하여 플랫폼에 의해 제한받지 않도록 하는 것입니다. JavaScript 위젯으로 확장할 수 있는 클라이언트이든 Java 작업을 만들거나 전체 모듈을 제공할 수 있는 런타임이든 Mendix 앱 스토어.

프로젝트 탐색기시 Mendix 월드 2016에서 우리는 출시했습니다 Mendix Connector Kit은 사용자 정의 Java 작업 위에 견고성과 사용자 친화성의 완전히 새로운 계층을 추가합니다. 기본 Modeler 도구 상자에서 Java 작업을 제공함으로써 사용자는 더 이상 기본 Microflow 작업과 사용자 정의 Java 작업 간의 차이를 보지 못합니다. 또한 이러한 Microflow 작업을 사용하기 쉽게 만들기 위해 여러 가지 새로운 매개변수 유형이 도입되었습니다. 최근 몇 달 동안 엔티티 및 Microflow 매개변수를 도입했습니다.

사용성을 개선하기 위해 Mendix 7. App Store 모듈을 Project Explorer의 별도 노드에 그룹화했습니다. 이를 통해 프로젝트가 더 이상 많은 수의 App Store 모듈로 복잡해지지 않으므로 프로젝트의 비즈니스 기능에 집중할 수 있습니다.

이번 달 릴리스에는 후드 아래에 몇 가지 큰 개선 사항이 포함되어 있습니다. Mendix Connector Kit Java 작업에서 사용하는 API가 정리되어 명시적으로 만들어졌습니다. 이를 통해 이러한 API의 이전 버전과의 호환성을 믿고 쉽게 업그레이드할 수 있습니다. Mendix 7 그러나 이는 애플리케이션을 업그레이드할 때 모듈을 업그레이드해야 할 수도 있고 일부 API 호출을 수정해야 할 수도 있음을 의미합니다. 업그레이드 안내서 더 자세한 정보를 얻을 수 있습니다.

REST

이 블로그 게시물을 마무리하기 위해 몇 가지 새로운 REST 기능을 언급하고 싶습니다. 네이티브 REST 지원의 최초 공개 릴리스 이후 Mendix 모델러, 우리는 매월 릴리스를 통해 정기적으로 새로운 기능을 추가해 왔습니다. Mendix 7.0에는 상태 코드, 상태 메시지, 헤더, 쿠키 및 필요한 경우 원시 페이로드를 포함하여 전체 HTTP 응답에 쉽게 액세스할 수 있습니다. 이를 통해 사용자 지정 인증 체계를 빠르게 구현하거나 일부 마이크로플로우 작업을 사용하여 특정 상태 코드를 처리할 수 있습니다.

REST 스크린샷

제품 개요

필요한 모든 기존 서비스와 쉽게 통합되는, 확장성과 가용성이 뛰어난 애플리케이션을 구축하는 것이 그 어느 때보다 쉬워졌습니다!

언어를 선택하세요