关于scale Groups的概念,在看Dynamics crm online的时候,一直不理解缩放组scale group的概念,后来查到GP也在用这个概念,想想不就是动态扩展嘛,马上顿悟了,原来如些。

From : https://community.dynamics.com/gp/b/dynamicsgp/posts/scale-groups-for-the-web-client

Scale Groups are a very interesting feature for the Web Client. Though the idea for its creation came to fill in a need for our partners hosting the Web Client, it does have practical application in On Premise installations as well.

In its simplest sense, it is a mechanism to affect the routing to a specific Session Host or group of Session Hosts. It has a one to many relationship with both Session Hosts and Tenants.

When Web Client was initially released, it was not uncommon to see the following environment:

With this environment, you would set up the location of the Dynamics GP client in Tenant Services that would be deployed to each Session Host. This worked perfectly fine until you needed more than 51 Dynamics GP clients. Once more than 51 Dynamics GP clients were needed, this model no longer was viable. The environment then needed to change to this:

As you can see, a second Web Server needed to be spun up to handle the next 51 GP Clients. This creates some very challenging scenarios for the administrators when troubleshooting multiple deployment environments.

This is the design challenge that is overcome with Scale Groups for the Web Client. The multiple environment above can now be designed as:

One functional change was made to validation of the user entered on the Logon.aspx page. The Authorize() method is now called from the Web Server versus the Session Host. This will allow for the user to be routed to the correct Session Host when it comes time to create a session.

When it comes to setup for Scale Groups, this is all done through PowerShell. This includes the creation of a Scale Group, defining the relationship between a Scale Group and a Tenant, defining the relationship between a Scale Group and Session Host, and everything in between. To this end, a GP PowerShell application has been created and can be deployed from the media. It does have a requirement that PowerShell 3.0 be deployed before it can be installed.

With the GP PowerShell application, 17 cmdlets have been created to help. Here is the list of those cmdlets:

  • Scale Group PowerShell cmdlets

    • Get-GPScaleGroup
    • New-GPScaleGroup
    • Update-GPScaleGroup
    • Remove-GPScaleGroup
  • Session Host PowerShell cmdlets
    • Get-GPSessionHost
    • Update-GPSessionHost
    • Remove-GPSessionHost
  • Scale Group \ Tenant PowerShell cmdlets
    • Get-GPScaleGroupTenant
    • Add-GPScaleGroupTenant
    • Update-GPScaleGroupTenant
    • Remove-GPScaleGroupTenant
  • Session Host \ Tenant PowerShell cmdlets
    • Get-GPSessionHostTenant
    • Update-GPSessionHostTenant
  • Miscellaneous PowerShell cmdlets
  • Get-GPSessions
  • Get-GPSessionCentralAddress
  • Set-GPSessionCentralAddress
  • Get-GPWebClientVersion

Information on the intent of each cmdlet and its syntax (including the required and optional parameters) can be found by running a Get-Help.  For example, you could run Get-Help Remove-GPScaleGroup and the following result would be displayed:\

With all of this information, hosting partners will likely leverage this feature in their deployments. It allows you to create a more customized environment where the needs of a customer can be tailored to their situation. An example of this would be two tenants (Tenant A and Tenant B) are part of the same Scale Group (Scale Group 1). Tenant A is heavily using the system and because of this usage, Tenant B is seeing performance issues. You can move Tenant B to another Scale Group (which would be a different Session Host than what they were using in Scale Group 1) to help rectify the situation.

Lastly, I discussed that this can be used in an On Premise environment. I have seen customer set up a multitenant environment for a number of reasons. It could be:

  1. There are multiple reports.dic
  2. There are multiple product configurations that need to be in place within the Dynamics.set
  3. A training environment is set up so that a user can become familiar with the systems and with the data without negatively affecting that data when practicing
  4. A development\test environment has been set up

For #1 and #2, each tenant can only specify one Dynamics.set and one Dex.ini. With multiple reports.dic, each unique Dynamics.set in which the path to the reports.dic resides would need to be its own tenant.

It is with #3 and #4 where Scale Groups would have an impact. You could have your production environment on one scale group with it set of Session Hosts and your development\test\training environment on another scale group with its set of Session Hosts. Since a Session Host can only belong to one Scale Group, the actions performed on the development\test\training environment won't adversely affect the performance of production.

Though this feature may not fit every scenario where Web Client is installed, it is good to understand the flexibility that Tenant Services and Scale Groups provides so that your environment can be designed to take advantage of the features if a future need dictates its usage.

Dynmaics 365 scale group的更多相关文章

  1. 【原创】打造基于Dapper的数据访问层

    [原创]打造基于Dapper的数据访问层   前言 闲来无事,花几天功夫将之前项目里用到的一个数据访问层整理了出来.实现单个实体的增删改查,可执行存储过程,可输出返回参数,查询结果集可根据实际情况返回 ...

  2. (视频) 《快速创建网站》2.1 在Azure上创建网站及网站运行机制

    现在让我们开始一天的建站之旅. 本文是<快速创建网站>系列的第2篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http:// ...

  3. IOS第18天(9,核心动画-动画组)

    ****动画组 // 核心动画都是假象,不能改变layer的真实属性的值// 展示的位置和实际的位置不同.实际位置永远在最开始位置 #import "HMViewController.h&q ...

  4. 简单又炫酷的two.js 二维动画教程

      前  言 S     N 今天呢给大家介绍一个小js框架,Two.JS.其实在自己学习的过程中并没有找到合适的教程,所以我这种学习延迟的同学是有一定难度的,然后准备给大家整理一份,简单易懂的小教程 ...

  5. two.js之实现动画效果

    一.什么是two.js? Two.js 是面向现代 Web 浏览器的一个二维绘图 API.Two.js 可以用于多个场合:SVG,Canvas 和 WebGL,旨在使平面形状和动画的创建更方便,更简洁 ...

  6. nginx时间设置解析函数

    https://trac.nginx.org/nginx/browser/nginx/src/core/ngx_parse.c /* * Copyright (C) Igor Sysoev * Cop ...

  7. (视频)《快速创建网站》2.1 在Azure上创建网站及网站运行机制

    现在让我们开始一天的建站之旅. 本文是<快速创建网站>系列的第2篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 1. 网站管理平台WordPress和 ...

  8. WPF编程,通过Double Animation同时动态缩放和旋转控件的一种方法。

    原文:WPF编程,通过Double Animation同时动态缩放和旋转控件的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_4330793 ...

  9. 使用 HTML5, javascript, webrtc, websockets, Jetty 和 OpenCV 实现基于 Web 的人脸识别

    这是一篇国外的文章,介绍如何通过 WebRTC.OpenCV 和 WebSocket 技术实现在 Web 浏览器上的人脸识别,架构在 Jetty 之上. 实现的效果包括: 还能识别眼睛 人脸识别的核心 ...

随机推荐

  1. Spring Boot读取配置文件的几种方式

    Spring Boot获取文件总的来说有三种方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口.这三种注解可以配合着@PropertySou ...

  2. JavaScript的参数是按照什么方式传递的?

    1.基本类型传递方式 <script> var a = 1; function test(x) { x = 10; console.log(x); } test(a); // consol ...

  3. JVM 专题十七:垃圾回收(一)简述

    1. 什么是垃圾 1.1 C++与Java 1.2 概述 垃圾收集,不是Java语言的伴生产物.早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生. 关于垃圾收集有三个经典问题 ...

  4. scrapy 基础组件专题(三):爬虫中间件

    一.爬虫中间件简介 图 1-1 图 1-2 开始这一张之前需要先梳理一下这张图, 需要明白下载器中间件和爬虫中间件所在的位置 下载器中间件是在引擎(ENGINE)将请求推送给下载器(DOWNLOADE ...

  5. java 基础(一) Sublime Text3搭建Java编译环境(Windows系统)

    1. 首先配置好Java环境变量我的jdk版本是1.8.0_191,存放目录是C:\Program Files\Java,因此添加以下环境变量 (1)系统变量→新建 JAVA_HOME 变量,变量值为 ...

  6. redis(十七):Redis 安装,部署(WINDOWS环境下)

    1.下载Redis安装文件, 我选择的是 3.0.504 版本,有zip或msi可供下载.   2.解压缩后,打开安装目录 双击redis-server.exe启动redis服务器,双击redis-c ...

  7. 一文读懂对抗生成学习(Generative Adversarial Nets)[GAN]

    一文读懂对抗生成学习(Generative Adversarial Nets)[GAN] 0x00 推荐论文 https://arxiv.org/pdf/1406.2661.pdf 0x01什么是ga ...

  8. 老司机带你玩转面试(5):Redis 集群模式 Redis Cluster

    前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿. ...

  9. win7下建立docker共享文件夹

    前言 建立本机(win7)和VirtualBox中docker虚拟机的共享文件夹,注:下面的命令都是以root身份运行的,使用sudo -i切换到root身份,如无法切换,请自行在命令前加上sudo命 ...

  10. 利用宝塔和rainloop搭建咱的邮箱

    需要咱准备的东东:一枚域名.服务器需根据情况开放25.110.143.465.993端口.宝塔邮局管理器.rainloop.LNMP或者LAMP. 搭建步骤: 1.安装宝塔邮局管理器: 2.设置宝塔邮 ...