搜索​​​​

清除过滤器
文章
Lele Yang · 二月 18, 2022

FAQ 常见问题系列--系统管理篇 InterSystems产品的内存使用

InterSystems的产品包括Caché/Ensemble/Health Connect/IRIS/IRIS for Health,均基于进程,当它们及在它们之上开发的应用运行时,您能在操作系统上看到大量cache/irisdb进程。下面以InterSystems IRIS为例,来说明下InterSystems产品的内存使用。 InterSystems IRIS进程的内存使用主要有以下两大类, 第一类,进程私有内存。 私有内存只由该进程使用,且会为每个进程单独分配。进程初始时会被分配128KB的内存空间,随着进程运行根据需要,这个内存空间会自动扩展。InterSystems IRIS对于进程内存使用的限制是Maximum Per-Process Memory, 该参数的设置位置在系统管理门户SMP,System > Configuration > Memory and Startup,允许的取值范围是256KB到2147483647KB(2TB)。如果系统遇到<STORE>错误,那么可以尝试增加该数值,来解决进程运行时无法申请到更多内存的问题。从InterSystems IRIS开始,我们推荐将该值设置为-1, 也就是取上限2TB。 更多InterSystems IRIS进程内存使用可参见如下在线文档"Process Memory in InterSystems Products",https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AVMEM 第二类,共享内存。共享内存是一个在进程之间共享的内存区域,因此内存中只有一个实体。 InterSystems中的共享内存包括如下,1. Database Cache, 也就是我们常说的Global Buffer,设置位置在SMP,System > Configuration > Memory and Startup。 2. Routine Cache, 也就是Routine Buffer,设置位置同上。3. gmheap,设置位置在SMP,System > Configuration > Advanced Memory Settings。我们通常所说的Process Table和Lock Table占用的内存也是从这部分内存中划分出来的,如果遇到Lock Table Full的问题,需要增加locksiz大小,请注意同步调大gmheap。 InterSystems IRIS在实例启动时,会首先尝试为这部分共享内存分配Huge Page/Large Page,以获得最佳性能实践,如果分配成功,您可以在日志文件messages.log中看到如下类似内容, 11/28/21-21:00:09:081 (41752) 0 [Generic.Event] Allocated 35046MB shared memory (large pages): 31000MB global buffers, 1024MB routine buffers 另外,除以上两大类之外,还有一类特殊的内存使用, 1.长字符串内存使用InterSystems IRIS默认启用长字符串,最多支持3,641,144个字符,当进程使用长字符串时,为其分配的内存直接来自于操作系统的malloc() buffer,它不占用进程的私有内存空间,因此为字符串实际分配的内存不受限于Maximum Per-Process Memory。 综上,InterSystems IRIS所使用的内存总量是所有InterSystems IRIS进程使用的内存之和,也就等于,(进程私有内存 * 进程数) + Global Buffer + Routine Buffer + gmheap + 长字符串总体使用内存。
公告
Claire Zheng · 八月 26, 2022

InterSystems开发者社区令人惊喜的里程碑!10K...11K...5M...

社区开发者们,大家好! 我们很自豪地宣布我们的InterSystems开发者社区已经达到了几个令人惊喜的里程碑: 📝 10,000 帖子 👥 11,000 注册用户 👁 5,000,000 浏览量 亲爱的开发者成员们,感谢你们的贡献,我们才能达成这样的目标:11K会员、10K发帖、5M浏览量 🍋🍋🍋🍋🍋 !我们为这一成就感到自豪,衷心感谢创造这一切的你们! 我们要感谢你们每一个人,因为你们是我们志同道合的一员!感谢你的每一次提问和对话!感谢你的每一次知识分享!感谢你的中肯建议,推动我们思考,从而变得更好、更有用!每一个你,都让这个社区保持活力和繁荣的原动力!我们很高兴与你在一起!❤️ 以下消息让这篇帖子的基调更欢乐! 开发者社区Discord channel 已经有500成员了! 🎉在这个方向上,我们还有很多工作要做,但我们已经准备好迎接挑战了。我们希望你也能加入我们,获得更多有用的信息和想法. 点击加入 再次感谢!让我们一起继续前行,共同成长!
公告
Claire Zheng · 四月 19, 2023

持续火热报名中:欢迎参加InterSystems 中国技术培训认证

为支持医疗信息行业人才发展,InterSystems 为中国市场量身定制了贴近需求、灵活、实操性强的技术认证培训计划,由 InterSystems 资深技术专家亲自授课,帮助用户快速掌握 InterSystems 技术,确保用户从快速发展的 InterSystems 技术中获益,以更好地服务于医院信息化建设。点击此处查看课程详情:InterSystems中国技术培训认证 您的最佳学习路径 为什么要参加 InterSystems 技术认证培训? InterSystems 数据平台技术已成为国内医疗信息化领域的主流技术之一,支持全国数百家大型公立医院核心系统长期稳定运行 20 余年; 专为中国技术用户量身定制,具有贴近需求、灵活、实操性强等特点; InterSystems 资深技术专家亲自授课,帮助用户快速掌握 InterSystems 技术及最佳实践; InterSystems 官方技术认证培训具备更高权威性,可以助力用户更好地运用 InterSystems 技术,并从快速发展的 InterSystems 技术中获益,保持技术先进性。 哪些用户可以参加认证培训? 凡使用 InterSystems 技术或对 InterSystems 技术感兴趣的IT从业人员或机构均可参加。 您可以从技术认证培训中获得哪些技能和成长? 与时俱进的课程更新,理论与实践相结合的学习方式,可以帮助您持续提升对 InterSystems 技术的掌握; 参与 InterSystems 的分级培训计划,考核通过即可获得认证证书; 通过线下课程与活动,拓展技术人脉。 InterSystems 中国的认证培训讲师团成员是哪些? InterSystems 中国资深工程师团队授课。 报名方式及开课时间是如何安排的? 报名人数满 5 人即开班,每季度一次,培训方式为线下培训,考试内容含书面测试与上机实践。课程收费请咨询您的 InterSystems 客户经理。医院及医疗信息化企业推荐以机构方式参与培训。 如需报名或咨询更多详情,请联系您的 InterSystems 客户经理,或通过以下方式与 InterSystems 中国团队联系: 电话:400-601-9890 邮件:GCDPsales@InterSystems.com 怎么报名呢? 欢迎联系您的 InterSystems 客户经理或者给我们打电话或者发邮件,谢谢! 电话:400-601-9890 邮件:GCDPsales@InterSystems.com
文章
Meng Cao · 五月 10, 2023

InterSystems IRIS for Health 2023.1配置MIRROR VIP报错的问题

今天从官网下载了IRISHealth-2023.1.0.229.0-lnxrh9x64版本的数据库安装包,在RHEL9.0上进行安装配置测试,遇到一个问题,趁热记录下来。 测试环境及软件版本: 操作系统——Red Hat Enterprise Linux release 9.0 (Plow) 数据库——IRISHealth-2023.1.0.229.0-lnxrh9x64 测试创建镜像时,配置好虚拟IP,点击保存。 保存后发现数据库没有变成主成员状态,一直是等待的状态,如下图所示: 这时查看控制台日志发现有大量报错,如下图所示: 从控制台日志看出,此时矛头指向了virtualIP.sh,经过查找发现这个脚本位置在安装目录下的bin目录中。 这里只是创建了MIRROR的配置,然后出现了问题,大概可以猜到可能是添加VIP的方法有什么问题,开启脚本的DEBUG,测试运行添加VIP的方法。 果然,发现了一处报错,如下图所示: 打开脚本文件,查看第588行代码。 研究发现RHEL9.0中,ID=`id | grep uid= | awk -F"=" '{print $2}' | awk -F"(" '{print $1}'`,$ID返回是空,不是数字,所以报错了,修改脚本,注释掉其中六行代码,并关闭DEBUG,如下: 保存脚本后,再次执行添加IP方法测试,IP可以正常添加。PS:不要忘记把测试添加的IP移除掉。 重启数据库,发现MIRROR状态恢复正常。 大家是否有遇到这个问题,可在评论区交流~~~
公告
Weiwei Gu · 九月 14, 2023

来认识 2023 年 8 月的InterSystems Global Masters获奖者!

是时候宣布八月份的获奖者了!请欢迎我们出色的Global Masters英雄! 热烈的掌声归于这些开发者以及他们在 8 月份为我们全球开发者社区做出的巨大贡献: 🥇@Sylvain.Guilbaud🥈@Ashok.Kumar 🥉 @罗伯特·森珀 请在下面了解有关比赛和我们的优秀获奖者的更多信息。 关于@Sylvain.Guilbaud 🔁 5 篇关于 DC 的文章翻译 📝 DC 上有 35 条评论 🎓 2 个已接受的答案 🛠 11 个Open Exchange pull请求 🏅 对 DC 上的帖子投 100 票即可获得专家作者徽章 🏅 DC 上 15 篇翻译文章获得铜译者徽章 🏅 Open Exchange 应用程序 1 个拉取请求的拉取请求贡献者徽章 🏅 在 Open Exchange 上获得 25 条评论,获得银牌 Open Exchange 审阅者徽章 恭喜,Sylvain! 经验: 自2001 年InterSystems France在法国地区开设办事处以来,Sylvain 一直担任该公司的售前工程师。作为数据库管理系统的专业工程师, Sylvain 自 1993 年以来一直参与多个软件编辑器的应用程序开发,涉及医疗领域或医疗保健最终用户,特别是在 APHP 总部。为了完善他在数据存储方面的专业知识,他随后加入了编辑器 Oracle,然后于 2001 年 6 月加入 InterSystems。因此,由于 InterSystems 的增强,他在数据处理方面的技能得到了扩展,达到了令人难以置信的速度。 其他情况: 出生于大西洋附近的南特,但很小的时候就被收养感受到了地中海的气息。文化爱好者,对音乐(只要有机会就弹钢琴)以及其他艺术和文学充满热情,尤其是从哲学角度来看,他绝对热爱世界的自然和狂野的一面。多萝西·奥柏林格 ( Dorothee OBERLINGER) 、吉米·亨德里克斯 (Jimi HENDRIX )、扮演瓦伦丁·西尔维斯特罗夫(Valentin SILVESTROV)的海伦·格里莫(Hélène GRIMAUD)、 《黑色安息日》 、奥菲莉·盖拉德、 《王肫与蜥蜴巫师》中的希拉怪物、刘小龙、泰姬陵、《鱼骨中的异果》 、埃曼纽尔·哈伊姆、乌鲁鲁岩来自Earthless的Alain PLANÈS 、来自Mulatu Astatke的Yèkèrmo Sèw 、 Dave van Ronk 、 Tom WAITS 、 Michel PETRUCCIANI或有史以来听过的最美丽的音乐之一,等等。 🔗立即与 Sylvain 联络,拓展您的技术人脉网络: 领英 开发者社区 关于@Ashok.Kumar 📝 DC 上有 4 个帖子和 21 条评论 🎓 8 个已接受的答案 💻 Open Exchange 上的 3 个应用程序 🏅在 Open Exchange 上发表 10 条评论即可获得铜牌 Open Exchange 审阅者徽章 🏅 DC 上接受 5 个答案即可获得答案大师徽章 🏅 DC 上 1 个问题即可获得 InterSystems 研究员徽章 🏅 DC 上 1 条评论可获得 DC 评论者徽章 🏅 1 篇 DC 文章的 DC 作者徽章 🏅 InterSystems Open Exchange 开发人员在 Open Exchange 上开发 1 个应用程序 恭喜,Ashok! 您从事这个职业/行业多久了? “我在系统间产品领域担任软件工程师已超过 9 年。我的职业生涯始于缓存开发人员。” 您的主要专业领域是什么? “HL7/FHIR 集成在分析、设计、实施和维护应用程序方面拥有丰富的经验。” 你从哪来? “我在印度出生和长大” 🔗立即与 Ashok 联系以拓展您的技术人脉网络: 开发者社区 关于@罗伯特·森珀 📝 DC 上有 5 个帖子和 41 条评论 🎓 11 个已接受的答案 💻 5 个 OEX 应用程序 🛠 11 个开放交换请求 恭喜,罗伯特! Robert C. Cemper是达姆施塔特 InterSystems 的前高级售前工程师。他在这个行业已经有 45 年的经验,并且直接在 InterSystems 工作了超过 12 年。个人使命宣言:“对于工程师来说‘不可能’并不存在” 在这篇文章中阅读完整且鼓舞人心的罗伯特的简历。 🔗 立即在开发者社区与 Robert 联系,以拓展您的技术人脉网络。 感谢所有获奖者对 InterSystems 开发者社区不断做出的巨大贡献! 让我们在下面的评论中祝贺我们的英雄! 关于全球大师倡导者中心的本月全球大师Global masters竞赛:我们每个月都会提名通过高度参与全球大师和开发者社区而付出额外努力的倡导者。获胜者将获得 1000 积分和特殊徽章。我们还为获奖者提供发布他们的简历的机会——现在在开发者社区的文章中!
文章
Michael Lei · 九月 27, 2024

使用 GitLab 持续交付 InterSystems 解决方案 – 第 8 部分:使用 ICM 的 CD

在这一系列文章中,我想向大家介绍并探讨使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。 我将介绍以下主题:Git 101Git 流程(开发流程)GitLab 安装GitLab 工作流持续交付GitLab 安装和配置GitLab CI/CD为何使用容器?容器基础架构使用容器的 CD使用 ICM 的 CD在本文中,我们将使用 InterSystems Cloud Manager 构建持续交付。 ICM 是一个面向基于 InterSystems IRIS 的应用程序的云配置和部署解决方案。 它允许您定义所需部署配置,ICM 会自动提供这些配置。 有关详情,请参阅 ICM 概述。工作流在我们的持续交付配置中,我们将完成以下任务:将代码推送到 GitLab 仓库构建 docker 镜像将镜像发布到 docker 注册表在测试服务器上测试镜像如果测试通过,则在生产服务器上部署也可以用示意图形式表示此流程:如您所见,基本操作是相同的,不过我们将使用 ICM 而不是手动方式来管理 Docker 容器。ICM 配置在我们开始升级容器之前,需要对它们进行配置。 因此,我们需要定义 defaults.json 和 definitions.json 来描述我们的架构。 我将为 LIVE 服务器提供这 2 个文件,TEST 服务器的 definitions 是相同的,defaults 只在 Tag 和 SystemMode 值上有所不同。defaults.json: { "Provider": "GCP", "Label": "gsdemo2", "Tag": "LIVE", "SystemMode": "LIVE", "DataVolumeSize": "10", "SSHUser": "sample", "SSHPublicKey": "/icmdata/ssh/insecure.pub", "SSHPrivateKey": "/icmdata/ssh/insecure", "DockerImage": "eduard93/icmdemo:master", "DockerUsername": "eduard93", "DockerPassword": "...", "TLSKeyDir": "/icmdata/tls", "Credentials": "/icmdata/gcp.json", "Project": "elebedyu-test", "MachineType": "n1-standard-1", "Region": "us-east1", "Zone": "us-east1-b", "Image": "rhel-cloud/rhel-7-v20170719", "ISCPassword": "SYS", "Mirror": "false" } definitions.json [ { "Role": "DM", "Count": "1", "ISCLicense": "/icmdata/iris.key" } ] 在 ICM 容器内部,/icmdata 文件夹从主机挂载,并且: TEST 服务器的定义放置在 /icmdata/test 文件夹中LIVE 服务器的定义放置在 /icmdata/live 文件夹中 获取所有必需的密钥后: keygenSSH.sh /icmdata/ssh keygenTLS.sh /icmdata/tls 并将必需的文件放置在 /icmdata 中: iris.keygcp.json(用于部署到 Google Cloud Platform) 调用 ICM 来配置您的实例: cd /icmdata/test icm provision icm run cd /icmdata/live icm provision icm run 这将为每个 TEST 和 LIVE 服务器配置一个独立的 InterSystems IRIS 实例。 有关更详细的指南,请参阅 ICM 概述。 构建 首先,我们需要构建镜像。 我们的代码通常存储在仓库中,CD 配置位于 gitlab-ci.yml 中,但为了提高安全性,我们会在构建服务器上存储几个服务器特定的文件。 iris.key 许可证密钥。 或者,它可以在容器构建过程中下载,而不是存储在服务器上。 将密钥存储在仓库中非常不安全。 pwd.txt 包含默认密码的文件。 将这类文件存储在仓库中也非常不安全。 此外,如果您在单独的服务器上托管生产环境,它可能有不同的默认密码。 load_ci_icm.script 初始脚本,它执行以下任务: 加载安装程序安装程序执行应用程序初始化加载代码 set dir = ##class(%File).NormalizeDirectory($system.Util.GetEnviron("CI_PROJECT_DIR")) do ##class(%SYSTEM.OBJ).Load(dir _ "Installer/Global.cls","cdk") do ##class(Installer.Global).init() halt 请注意,第一行有意留空。 与之前的示例相比,有几个不同之处。 首先,我们没有启用操作系统身份验证,因为 ICM 会与容器交互而不是直接与 GitLab 交互。 其次,我使用安装程序清单来初始化我们的应用程序,以展示不同的初始化方式。 有关安装程序的更多信息,请参阅这篇文章。 最后,我们将在 Docker Hub 中以私有仓库的形式发布我们的镜像。 Installer/Global.cls 我们的安装程序清单如下所示: <Manifest> <Log Text="Creating namespace ${Namespace}" Level="0"/> <Namespace Name="${Namespace}" Create="yes" Code="${Namespace}" Ensemble="" Data="IRISTEMP"> <Configuration> <Database Name="${Namespace}" Dir="${MGRDIR}/${Namespace}" Create="yes" MountRequired="true" Resource="%DB_${Namespace}" PublicPermissions="RW" MountAtStartup="true"/> </Configuration> <Import File="${Dir}MyApp" Recurse="1" Flags="cdk" IgnoreErrors="1" /> </Namespace> <Log Text="Mapping to USER" Level="0"/> <Namespace Name="USER" Create="no" Code="USER" Data="USER" Ensemble="0"> <Configuration> <Log Text="Mapping MyApp package to USER namespace" Level="0"/> <ClassMapping From="${Namespace}" Package="MyApp"/> </Configuration> <CSPApplication Url="/" Directory="${Dir}client" AuthenticationMethods="64" IsNamespaceDefault="false" Grant="%ALL" /> <CSPApplication Url="/myApp" Directory="${Dir}" AuthenticationMethods="64" IsNamespaceDefault="false" Grant="%ALL" /> </Namespace> </Manifest> 它实现了以下更改: 创建应用程序命名空间。创建应用程序代码数据库(数据将存储在 USER 数据库中)。将代码加载到应用程序代码数据库中。将 MyApp 软件包映射到 USER 命名空间。创建 2 个 Web 应用程序:分别用于 HTML 和 REST。 gitlab-ci.yml 现在,继续持续交付配置: build image: stage: build tags: - master script: - cp -r /InterSystems/mount ci - cd ci - echo 'SuperUser' | cat - pwd.txt load_ci_icm.script > temp.txt - mv temp.txt load_ci.script - cd .. - docker build --build-arg CI_PROJECT_DIR=$CI_PROJECT_DIR -t eduard93/icmdemo:$CI_COMMIT_REF_NAME . 这里会执行哪些操作? 首先,由于 docker build 只能访问基础构建目录(在我们的示例中为仓库根目录)的子目录,我们需要将我们的“秘密”目录(其中包含 iris.key、pwd.txt 和 load_ci_icm.script)复制到克隆的仓库中。 接下来,首次终端访问需要用户名/密码,因此我们会将这些信息添加到 load_ci.script 中(这也是 load_ci.script 开头一行留空的原因)。 最后,我们会构建 docker 镜像并适当地为其添加标签:eduard93/icmdemo:$CI_COMMIT_REF_NAME 其中,$CI_COMMIT_REF_NAME 是当前分支的名称。 请注意,镜像标签的第一部分应与 GitLab 中的项目名称相同,这样才能在 GitLab 的“注册表”标签页中看到它(“注册表”标签页中提供了关于添加标签的说明)。 Dockerfile 构建 docker 镜像是通过 Dockerfile 完成的,具体如下: FROM intersystems/iris:2018.1.1-released ENV SRC_DIR=/tmp/src ENV CI_DIR=$SRC_DIR/ci ENV CI_PROJECT_DIR=$SRC_DIR COPY ./ $SRC_DIR RUN cp $CI_DIR/iris.key $ISC_PACKAGE_INSTALLDIR/mgr/ \ && cp $CI_DIR/GitLab.xml $ISC_PACKAGE_INSTALLDIR/mgr/ \ && $ISC_PACKAGE_INSTALLDIR/dev/Cloud/ICM/changePassword.sh $CI_DIR/pwd.txt \ && iris start $ISC_PACKAGE_INSTANCENAME \ && irissession $ISC_PACKAGE_INSTANCENAME -U%SYS < $CI_DIR/load_ci.script \ && iris stop $ISC_PACKAGE_INSTANCENAME quietly 我们从基本的 iris 容器开始。 首先,我们将仓库(和“秘密”目录)复制到容器中。 接下来,我们将许可证密钥复制到 mgr 目录中。 然后,我们将密码更改为 pwd.txt 中的值。 请注意,此操作会删除 pwd.txt。 之后,实例启动并执行 load_ci.script。 最后,iris 实例停止。 请注意,我使用的是 GitLab Shell 执行器,而不是 Docker 执行器。 当您需要从镜像内部提取某些内容时,将使用 Docker 执行器,例如在 Java 容器中构建 Android 应用程序并且只需要一个 apk 时。 在我们的示例中,我们需要整个容器,因此需要使用 Shell 执行器。 因此,我们通过 GitLab Shell 执行器运行 Docker 命令。 发布 现在,我们将镜像发布到 Docker Hub publish image: stage: publish tags: - master script: - docker login -u eduard93 -p ${DOCKERPASSWORD} - docker push eduard93/icmdemo:$CI_COMMIT_REF_NAME 注意 ${DOCKERPASSWORD} 变量,它是 GitLab 的秘密变量。 我们可以在“GitLab > 项目 > 设置 > CI/CD > 变量”中添加它们: 作业日志中也不包含密码值: Running with gitlab-runner 10.6.0 (a3543a27) on icm 82634fd1 Using Shell executor... Running on docker... Fetching changes... Removing ci/ HEAD is now at 8e24591 Add deploy to LIVE Checking out 8e245910 as master... Skipping Git submodules setup $ docker login -u eduard93 -p ${DOCKERPASSWORD} WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded $ docker push eduard93/icmdemo:$CI_COMMIT_REF_NAME The push refers to repository [docker.io/eduard93/icmdemo] master: digest: sha256:d1612811c11154e77c84f0c08a564a3edeb7ddbbd9b7acb80754fda97f95d101 size: 2620 Job succeeded 在 Docker Hub 中,我们可以看到新镜像: 运行 我们有了镜像,接下来在我们的测试服务器上运行它。 脚本如下。 run image: stage: run environment: name: $CI_COMMIT_REF_NAME tags: - master script: - docker exec icm sh -c "cd /icmdata/test && icm upgrade -image eduard93/icmdemo:$CI_COMMIT_REF_NAME" 使用 ICM,我们只需要运行一个命令 (icm upgrade) 即可升级现有部署。 我们通过运行“docker exec icm sh -c”来调用它,这会在 icm 容器内执行指定的命令。首先,我们进入 /icmdata/test,这里定义了我们为 TEST 服务器准备的 ICM 部署定义。 之后,我们调用 icm upgrade 将当前存在的容器替换为新容器。 测试 我们来运行一些测试。 test image: stage: test tags: - master script: - docker exec icm sh -c "cd /icmdata/test && icm session -namespace USER -command 'do \$classmethod(\"%UnitTest.Manager\",\"RunTest\",\"MyApp/Tests\",\"/nodelete\")' | tee /dev/stderr | grep 'All PASSED' && exit 0 || exit 1" 同样,我们在 icm 容器内执行一条命令。 icm 会话在一个已部署的节点上执行命令。 该命令运行单元测试。 之后,它将所有输出传输到屏幕,同时也传输给 grep 以查找单元测试结果,并成功退出进程或以出错方式退出。 部署 生产服务器上的部署与测试服务器上的部署完全相同,只是为 LIVE 部署定义使用了另一个目录。 如果测试失败,此阶段将不会被执行。 deploy image: stage: deploy environment: name: $CI_COMMIT_REF_NAME tags: - master script: - docker exec icm sh -c "cd /icmdata/live && icm upgrade -image eduard93/icmdemo:$CI_COMMIT_REF_NAME" 结论 ICM 为您提供了一种简单直观的方式来配置云基础架构并在它上面部署服务,帮助您立即进入云,无需大规模开发或重新工具化。 基础架构即代码 (IaC) 和容器化部署的优势使您可以轻松地在公共云平台(如 Google、Amazon 和 Azure)或者在您的私有 VMware vSphere 云上部署基于 InterSystems IRIS 的应用程序。 定义您的需求,发出几条命令,ICM 会完成其余工作。 即使您已经在使用云基础架构、容器或两者,ICM 也能通过自动执行大量原本需要手动完成的步骤,极大地减少配置和部署应用程序所需的时间和精力。 链接 文章代码测试项目ICM 文档ICM 概述
文章
Hao Ma · 九月 22, 2021

IRIS 2021 技术文档 First Look 8 - 技术概要:ODBC和InterSystems数据库

技术概要:ODBC 和 InterSystems 数据库 如果您希望在 InterSystems IRIS®数据平台上使用 ODBC,本文将介绍如何设置它。要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems 技术概要(InterSystems First Looks)。 1 ODBC: 如何在 InterSystems IRIS 中使用它InterSystems 提供了一个完全兼容的(ODBC 3.5)ODBC 驱动程序,您可以使用它通过 ODBC 访问 InterSystems IRIS 数据库。当您安装 InterSystems IRIS 时,默认安装该驱动程序。为了开始在 InterSystems IRIS 中使用 ODBC,您只需要在 InterSystems IRIS 实例上配置驱动程序。本技术概要(First Look)文档对这一过程进行了概述。如果您还不熟悉 ODBC,请参见本文档末尾的 "了解更多信息" 一节中的链接,以获得更多信息。 2 用前须知要使用这个程序,您需要一个安装了 InterSystems IRIS 实例的 Windows 系统。有关如何安装和授权 InterSystems IRIS 开发实例的说明,请参见InterSystems IRIS Basics: Installation(《InterSystems IRIS 基础:安装》)。 3 在 Windows 上设置 ODBC本节介绍如何在 Windows 上为 InterSystems IRIS 数据库创建 DSN。本节中的说明假定您已经安装了 InterSystems ODBC 驱动程序。默认情况下,标准的 InterSystems IRIS 安装过程会安装驱动程序,所以除非您执行了自定义安装,否则驱动程序应该存在于您的实例中。要使应用程序能够通过 ODBC 访问 InterSystems IRIS 数据库,您需要创建一个 DSN,该 DSN 为 ODBC 客户端驱动程序定义数据库的位置。在 Windows 上,您可以从 Windows 控制面板执行此操作,如下所示:1. 打开Windows Administrative Tools control panel(Windows 管理工具控制面板)。2. 选择 Data Sources(数据源)(ODBC)。3. 在 User DSN(用户 DSN) 标签上,选择 Add(添加)。4. 选择 InterSystems ODBC 并点击 Finish(完成)。 技术概要:ODBC 和 InterSystems 数据库 1 了解更多有关 ODBC 的信息 DSN 创建完成后,将显示 InterSystems ODBC Data Source Setup (InterSystems ODBC 数据源设置)对话框。图 1:InterSystems ODBC 数据源设置对话框 5. 输入必要的配置细节:• 输入 DSN 的名称和描述。• 输入与此 DSN 代表的 InterSystems IRIS 数据库相对应的 IP 地址、端口号和命名空间。• 选择一种身份验证方法,并输入或选择适合 InterSystems IRIS 实例的其他安全信息。 6. 选择 Test Connection(测试连接) 按钮来测试您的设置是否正确。 如果连接测试成功,那么恭喜您!您已经完成了 InterSystems IRIS 数据库的设置,以使用 ODBC。现在您可以修改支持 ODBC 的应用程序,以使用刚刚创建的 DSN。 4 了解更多有关 ODBC 的信息如果您更喜欢使用文件 DSN,请参见Using the InterSystems ODBC Driver guide(《使用 InterSystems ODBC 驱动程序指南》)中的 " Using File DSNs and DSN-less Connections(使用文件 DSN 和无 DSN 连接) "一章,以了解相关说明。InterSystems IRIS 还支持 UNIX®上的 ODBC;详情请参见Using the InterSystems ODBC Driver guide(《使用 InterSystems ODBC 驱动程序指南》)中的 " Using an InterSystems Database as an ODBC Data Source on UNIX®(在 UNIX®上使用 InterSystems 数据库作为 ODBC 数据源)"一章。若要在 Windows 上使用 TLS 保护 ODBC 连接,请参见Connecting from a Windows Client Using a Settings File(《使用设置文件从 Windows 客户端进行连接》)。 要了解更多有关 ODBC 和 InterSystems IRIS 的信息,请参见:• Using the InterSystems ODBC Driver(《使用 InterSystems ODBC 驱动程序》) — InterSystems 文档:使用 ODBC 的逐步说明• Using InterSystems SQL(《使用 InterSystems SQL》) — InterSystems 文档:使用 SQL 的逐步说明• InterSystems SQL Reference(《InterSystems SQL 参考文献》) — InterSystems 文档:SQL 参考文献 2 技术概要: ODBC 和 InterSystems 数据库 了解更多有关 ODBC 的信息 • SQL Optimization Guide(《SQL 优化指南》) — InterSystems 文档:优化 InterSystems SQL 性能的指南
文章
Jingwei Wang · 十一月 2, 2021

IRIS 2021 最新技术文档 First Look 1 技术概要

InterSystems 技术概要 技术概要(First Look)是为用户提供InterSystems IRIS的关键技术和选项的实践经验的简短文档,其中涉及到的许多技术都可以在免费的评估实例上体验。所有这些技术都可以在已授权的InterSystems IRIS实例上完成。 部署 技术概要:InterSystems 云管理器(First Look: InterSystems Cloud Manager) 介绍InterSystems 云管理器,为您展示如何利用它在公有云上部署InterSystems产品。 技术概要: 容器中的InterSystems 产品(First Look: InterSystems Products in Containers) 介绍Docker容器和在容器中运行InterSystems产品。 InterSystems IRIS 基础:安装(InterSystems IRIS Basics: Installation 指导用户完成InterSystems IRIS的单实例安装,以便与其它技术概要(First Looks)一起使用。 架构 技术概要:使用InterSystems分布式缓存扩展系统的用户容量 介绍了使用由ECP支持的分布式缓存来扩展用户容量。 技术概要:部署InterSystems分片集群 介绍分片(sharding),以及如何使用分片扩展基于InterSystems的应用程序的数据量。 技术概要:数据弹性和镜像 介绍InterSystems产品的故障恢复、高可用性和灾备功能。 开发环境 InterSystems IRIS基础: 连接一个IDE 介绍如何将一个IDE连接到InterSystems IRIS上。 Java和JDBC 技术概要:JDBC 和 InterSystems数据库 介绍如何通过JDBC连接到InterSystems数据库:快速入门,并有机会自己尝试 技术概要: InterSystems IRIS Native API for Java 介绍如何使用InterSystems IRIS Native从Java应用程序中访问InterSystems globals。 技术概要:用XEP实现Java对象持久化 介绍如何使用XEP对象持久化API存储和检索持久化的Java对象。 技术概要:Java 网关和 InterSystems 产品 介绍InterSystems产品通过Java 网关与Java组件进行互操作的能力。 .NET和ODBC 技术概要: ODBC 和 InterSystems数据库 介绍如何通过ODBC连接到InterSystems数据库。 技术概要:InterSystems IRIS Native API for .NET 演示如何通过使用了IRIS Native的.NET应用程序访问InterSystems globals 技术概要:ADO.NET 和InterSystems产品 介绍了如何通过InterSystems ADO.NET Managed Provider连接到InterSystems产品 技术概要: 用XEP实现.Net对象持久化 介绍如何使用XEP对象持久化API存储和检索持久化的.NET对象 技术概要:InterSystems .NET网关 介绍如何使用InterSystems . NET网关(Gateway)。 嵌入式语言 技术概要: ObjectScript 介绍ObjectScript语言,演示如何使用它以多种方式访问数据。 技术概要: Globals 介绍Globals概念,这是InterSystems IRIS数据平台的底层存储结构。. 技术概要:InterSystems SQL 介绍InterSystems SQL、InterSystems产品中常用SQL语句的使用,以及优化查询性能的独特方法。 技术概要:使用InterSystems产品优化SQL性能 介绍InterSystems SQL查询优化技术。 技术概要:在InterSystems产品中开发REST接口 介绍在InterSystems产品中开发REST接口,以提供对数据库和应用程序的访问。 互操作Production 技术概要:使用带有互操作性的Production连接系统 Production介绍。 技术概要:使用 Production 进行大文件传输(Managed File Transfer,MFT) 介绍了大文件传输(MFT)特性,该特性允许用户将第三方文件传输服务直接轻松地包含到InterSystems互操作性产品中。 技术概要:数据转换 介绍DTL编辑器以及如何在互操作性产品中将数据转换为不同的格式。 分析 技术概要:使用InterSystems产品进行SQL搜索 介绍对SQL文本搜索的支持,它为非结构化文本数据提供了语义上下文搜索。 技术概要:InterSystems产品文本分析功能 介绍了对自然语言处理(NLP)文本分析的支持,它为各种自然语言中的非结构化文本数据提供语义分析。 技术概要:InterSystems IRIS 和 UIMA 介绍InterSystems IRIS如何实现并补充了UIMA分析管道. 安全 技术概要:基于角色的访问控制 介绍InterSystems产品中基于角色的访问控制:快速了解并尝试。 技术概要:LDAP和InterSystems产品 介绍如何使用LDAP服务器对InterSystems产品的用户进行身份验证和分配特权。 技术概要:数据加密 技术概要:数据加密 提供对InterSystems数据库加密工具的简要的实际操作介绍。 技术概要:InterSystems公开密钥基础设施 (PKI) 技术概要:InterSystems公开密钥基础设施 (PKI) 介绍了在InterSystems产品中可用的公钥加密、证书颁发机构(CAs)和PKI。 文档目录里面的链接打不开,请看看,谢谢!
文章
Claire Zheng · 二月 21, 2023

【GS22 视频】InterSystems IRIS数据平台与E级方程式赛车:速度、规模和安全性

速度、规模和安全性是我们真正热衷的领域,这也正是优秀的E级方程式赛车手所追求的。在InterSystems 2022年全球峰会上,InterSystems 数据平台产品管理总监Jeffery Fried 及其团队分享了InterSystems IRIS数据平台的新功能与产品规划。基于InterSystems IRIS数据平台,我们为用户构建优秀的“赛车”,内置的一系列非凡功能和高效周全的“维修技师”,确保“赛车手”能够在竞争激烈的赛道中心无旁骛地飞速向前!
文章
Lele Yang · 七月 13, 2021

FAQ 常见问题系列--系统管理篇 如何在Linux上配置InterSystems IRIS服务随机自启动?

与Windows上默认安装为服务随机自启动不同,我们在Linux上安装完InterSystems IRIS后,默认是没有配置系统服务的,需要做手动配置。本文提供使用systemd方式来配置InterSystems IRIS服务随机自启动的简单示例,供大家参考。 假设我们已经安装了InterSystems IRIS产品,安装完成后您可以通过iris list来来查看实例信息,包括安装路径,如:"/intersystems/iris" [root@RHEL8-64-001 ~]# iris list Configuration 'IRIS' (default) directory: /intersystems/iris versionid: 2021.2.0L.546.0 datadir: /intersystems/iris conf file: iris.cpf (SuperServer port = 51773, WebServer = 52773) status: running, since Mon May 31 05:03:09 2021 state: ok product: InterSystems IRIS 在安装完成后,用以下方式搜索不到iris.service, [root@RHEL8-64-001 ~]# systemctl list-unit-files --type=service|grep iris.service 如何将其配置为系统服务呢,下面是一个简单示例及操作步骤,供大家参考。注意:请使用root用户或者拥有root权限的用户来进行。 1. 创建systemd service,1) 在/usr/lib/systemd/system下创建文件,iris.service,内容如下, [root@RHEL8-64-001 system]# cat iris.service [Unit] Description=InterSystems IRIS [Service] Type=forking ExecStart=/bin/bash -c '/intersystems/iris/irisstart 2>&1 | logger -t iris_start' ExecStop=/bin/bash -c '/intersystems/iris/irisstop quietly 2>&1 | logger -t iris_stop' RemainAfterExit=yes [Install] WantedBy=multi-user.target 其中,/intersystems/iris为实例安装目录。2) 创建后,更改文件的属性, [root@RHEL8-64-001 system]# chmod 755 iris.service 更改后,文件属性如下,-rwxr-xr-x. 1 root root 225 May 31 07:32 iris.service 2. 启用该Service。1)启用,创建系统service的link, [root@RHEL8-64-001 system]# systemctl enable iris.service Created symlink /etc/systemd/system/multi-user.target.wants/iris.service → /usr/lib/systemd/system/iris.service. 2)确认状态,确保已经enabled [root@RHEL8-64-001 system]# systemctl list-unit-files --type=service|grep iris.service iris.service enabled 3. 测试该Service,1)进行到这个步骤,查看状态应为inactive(dead)。 [root@RHEL8-64-001 system]# systemctl status iris ● iris.service - InterSystems IRIS Loaded: loaded (/usr/lib/systemd/system/iris.service; enabled; vendor preset> Active: inactive (dead) lines 1-3/3 (END) 2) 下面来启动iris服务, [root@RHEL8-64-001 system]# systemctl start iris.service 3) 再次查看服务状态已经为active(running),启动成功。 [root@RHEL8-64-001 system]# systemctl status iris ● iris.service - InterSystems IRIS Loaded: loaded (/usr/lib/systemd/system/iris.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2021-05-31 07:57:43 EDT; 1min 37s ago Process: 1704 ExecStart=/bin/bash -c /intersystems/iris/irisstart 2>&1 | logger -t iris_start (code=exited, status=0/SUCCE> Tasks: 52 (limit: 11442) Memory: 246.0M CGroup: /system.slice/iris.service ├─2076 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr/ -w/intersystems/iris/mgr/ -cc -B -C/intersystems/i> ├─2085 /intersystems/iris/bin/irisdb WD > ├─2086 /intersystems/iris/bin/irisdb GC > ├─2087 /intersystems/iris/bin/irisdb JD > ├─2088 /intersystems/iris/bin/irisdb AUX7 > ├─2089 /intersystems/iris/bin/irisdb AUX6 > ├─2090 /intersystems/iris/bin/irisdb AUX5 > ├─2091 /intersystems/iris/bin/irisdb AUX4 > ├─2092 /intersystems/iris/bin/irisdb AUX3 > ├─2093 /intersystems/iris/bin/irisdb AUX2 > ├─2094 /intersystems/iris/bin/irisdb AUX1 > ├─2095 /intersystems/iris/bin/irisdb DBXD > ├─2098 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 START^MONITOR ├─2102 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 START^CLNDMN ├─2105 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 stumonitor^JRNRESTO ├─2109 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 ^RECEIVE 4)最后重启操作系统,测试iris可以随机自启动。 注:以上测试在Red Hat Linux Enterprise 8版本上进行。
文章
Johnny Wang · 二月 11, 2022

翻译文章-初学者资源库

Hello 家人们, InterSystems 学习网站有许多非常棒的课程。 因此,如果您想了解 InterSystems 并开始使用 InterSystems,希望这些资源可以帮到你: 概述: InterSystems 产品和技术简介 基础知识: InterSystems ObjectScript 基础知识 InterSystems SQL 概述 InterSystems IRIS 对象介绍 迁移到 IRIS 后端开发: 设置 RESTful 服务 在 InterSystems IRIS 中使用 JSON 面向开发人员的 InterSystems API Manager 动手实践 构建数据驱动的 Web 应用程序 集成开发: 集成架构 构建 BPL 业务流程 建立自定义业务运营 构建定制业务服务 数据转换基础 非常好的外部资源 互操作性课程 分析开发: IRIS BI 架构师 IRIS BI 分析器 BI 数据模型 InterSystems IRIS 自适应分析基础 InterSystems 报告入门 IntegratedML 动手实践 来自 learning.intersystems.com 的资源: 如果你想开始,您还可以根据您想要做的事情来个性化选择你需要的资源: 使用 InterSystems 构建服务器端应用程序 使用 InterSystems IRIS 构建业务集成 使用 InterSystems IRIS BI 分析数据 使用自适应分析构建数据模型 使用 InterSystems 报告以可视方式交付数据 在 InterSystems IRIS 中使用 IntegratedML 预测结果 或者,我们在这里为实施合作伙伴(或将做所有事情的其他人,资源对所有人开放)提供了一些更大的资源
公告
Claire Zheng · 三月 12, 2021

3月19日直播预告:聚焦InterSystems 数据平台与WRC服务

亲爱的社区开发者们, 北京时间3月19日下午14:00-16:00,我们将举办一次线上直播,聚焦InterSystems 数据平台与WRC服务,为您答疑解惑!今天隆重向大家介绍此次直播的主讲人! 主讲人:刘皆良 演讲主题:告诉你从Caché数据库升级到InterSystems IRIS数据平台的N个理由 本次演讲将分别从数据引擎的性能提升、互操作性的支持提升以及IntegratedML(自动化机器学习)、API全生命周期管理器等全新应用,来全方位多维度阐述从Caché数据库升级到InterSystems IRIS数据平台N个理由。 主讲人:杨乐乐 演讲主题:InterSystems全球响应中心服务介绍 通过演讲您将了解到InterSystems全球响应中心(Worldwide Response Center)提供的全面服务以及独特之处,更重要的是,作为InterSystems用户,您将如何获取快速响应、并高效得到您想要的技术支持服务! 欢迎点击进入直播!
文章
Claire Zheng · 四月 7, 2022

谈谈InterSystems IRIS数据平台的部署灵活性与TCO降低

众所周知,InterSystems IRIS的产品设计理念源于互操作性(Interoperable)、稳定性(Reliable)、直观(Intuitive)、可扩展性(Scalable),在云时代,InterSystems IRIS的云上操作与本地一样便捷,令用户体验有了明显提升,除此之外,为了更高效地对InterSystems IRIS进行配置,我们还提供了哪些新特性?为了便捷地进行数据迁移,InterSystems IRIS最新版本提供了哪些解决方案?点击查看视频,或浏览文字版。 马浩 @Hao.Ma (老马 ): 我想介绍一下杨乐乐(Ida),她是我们资深的WRC(全球响应中心)人员,几乎所有我们现有客户提出的技术问题都会汇集到WRC中,那么Ida,关于如何为客户提供更好的开发体验,有什么好的内容跟我们分享吗? 杨乐乐 @Ida.Yang (Ida): 大家好,我是杨乐乐,很高兴和大家分享这一主题。我先给大家介绍一下InterSystems IRIS的产品发布与部署。InterSystems IRIS 的产品发布主要有两条线,主版本和持续交付(CD,Continuous Delivery)版本,其中主版本一年发布一次,主版本的发布包括安装包和容器映像两种形式,比如2021.1.0;持续交付版本一个季度发布一次,仅仅会以容器映像的形式发布,比如2020.2.0、2020.3.0、2020.4.0。 在Docker容器中部署InterSystems IRIS®是灵活的、高度可复用的,并且非常适合公共云平台。容器将代码和数据干净地分开,并支持持续集成CI/持续交付CD和DevOps,可以更快地将产品的改进推向市场,我们的季度发布版本正是为了助力客户加速这一过程。 为了更高效地对InterSystems IRIS进行配置,我们还提供配置合并功能,这个功能可以让您在一次操作中对InterSystems IRIS实例的配置做任意多的修改。实现方式也十分直接明了,您只需在一个声明性的配置合并文件中声明配置信息,无论是在实例初始部署时还是以后的修改配置,都可将声明中的配置信息应用于实例。配置合并可以很容易地用于从同一个容器映像或工具包中自动部署具有不同配置的多个实例,以及同时重新配置多个运行中的实例,实现集群或其他多实例部署场景下的的自动重新配置。 除了针对实例的配置合并,InterSystems IRIS还提供配备非常直观的云管理器,InterSystems Cloud Manager(ICM),通过ICM我们可以直接配置公共或私有云的基础设施并在其上部署服务,它为InterSystems产品的容器化部署带来了自动化和基础设施即代码(IaC)的所有优势。通过将API编入可共享和版本化的声明性配置文件,ICM让你安全、可预测地持续创建、修改和改进生产基础设施及服务。 ICM现在支持的基础设施即服务(IaaS)公共云平台包括谷歌云、亚马逊AWS、Microsoft Azure和腾讯云,当然您也可以在您的私有VMware云中轻松配置和部署InterSystems IRIS。除此之外ICM也支持您在现有的基础设施上进行部署。 InterSystems IRIS提供的另外一个对容器化的支持是InterSystems Kubernetes Operator(IKO),众所周知,Kubernetes是一个开源的协调引擎,用于自动部署、扩展和管理容器化工作。IKO通过对Kubernetes的扩展,支持在任何Kubernetes平台上为InterSystems IRIS®部署集群、分布式缓存集群以及独立实例,包括部署时可以选择是否配置我们的高可用性镜像。同时,IKO还增加了特定的集群管理功能,比如它实现了向集群添加节点的自动化等等。 吕正之 @Louis.Lu (Louis): 云确实是一种趋势,很高兴听到InterSystems对于云支持特性的相关总结,对于云上的操作可以和在本地操作一样方便,突出了一个自动化和便捷性的特点,这对客户体验是一个明显的提升。 杨乐乐 @Ida.Yang(Ida): 确实是这样。 除了以上对云平台、容器化支持的内容,我还想跟大家分享两个新特性。 第一个是InterSystems IRIS现在也可部署于基于ARM架构的平台,包括完整的安装版和容器版。通过对ARM架构的支持,客户对于平台的选择可以更加灵活,能够将他们的应用程序部署到具有成本效益的硬件平台上,包括物理平台和云平台。 另外一个是与客户日常运维相关的一个更新,同时这个更新也是对于从Caché、Ensemble就存在的一个旧有问题的答复。相对于传统关系型数据库以表格行和列的方式储存,IRIS的前身Caché采取的是紧密型的存储方式,这样的好处是,同样的数据,Caché所使用的存储空间会减少30%-40%。但是另一个方面Caché为了保证数据的高速写入以及数据的一致性等问题,采用了多段写入的方式,这样一来就会产生很多记录数据库操作的日志,也就是Journal日志,特别是在业务高峰期,或者我们在大批量处理历史数据的时候,Journal日志所在的磁盘空间会长得非常快。同时另外一方面随着越来越多文档数据、流数据的保存,这一部分格式的数据在所有数据中的比例也越来越大。为了解决上面的问题,节约空间占用,InterSystems IRIS即将推出的下一个版本中,会加入对Journal日志以及流数据压缩算法的优化,使用优化后的压缩算法磁盘所占空间将会缩减30%,其中XML和其他文档类型的压缩率甚至能够高达80%。 吕正之 @Louis.Lu (Louis): 真不错,日志所占磁盘空间的快速增长确实是很多客户关心的问题,很高兴现在我们在新的版本中做出了这么大的改进。这让我想到了另一个问题,也是很多客户关心的,就是数据迁移,不管是从其他的数据库或者是CSV文件中如何快速方便的将数据迁移到InterSystems IRIS,有什么好的方式推荐吗? 杨乐乐 @Ida.Yang(Ida): 是的,数据迁移也是客户日常会碰到的挑战。现在好消息是,在最新版本中我们加入了Data Loader的功能,它可以方便快捷地从CSV文件或通过JDBC加载源数据到InterSystems IRIS SQL表中。它可以使用类似于SQL语句中的INSERT语句那样,以COLUMNS和VALUES子句的方式来完善该命令,以适用更多的应用场景,这很类似于前面IntegratedML中可以使用USING子句。 吕正之 @Louis.Lu (Louis): 嗯,真高兴我们可以在InterSystems IRIS的下一个版本中看到这么多好的功能,所有的这些功能都是为了更好提升客户的开发、使用感受。 大家都知道我们的IRIS是由互操作性(Interoperable)、稳定性(Reliable)、直观(Intuitive)、可扩展性(Scalable)四个单词首字母的缩写构成,这代表了IRIS的四个主要特点和核心设计理念,但同时在我们内部还有另一个缩写,也代表了我们的设计初衷,这就是It Really Is Simple,也就是“它真的很简单”的意思。我们尽可能将构建一个富数据应用所需的所有工具汇集到一个平台中,不需要开发者寻找适合数据存储、数据处理、业务流程编辑、数据分析等不同部分的不同技术框架,省去了不同的知识堆栈、异构系统集成、多开发调试环境切换的烦恼,产品根据市场技术发展、客户需求等不断做出调整与更新,但变化不离其宗—— 它真的很简单(It Really Is Simple)。 好了,这次我们的分享就到这里,再次感谢各位的观看。
文章
Michael Lei · 四月 25, 2022

如何在CI/CD Pipeline中管理InterSystems API Manager (Kong GATEWAY)配置?

Kong提供了一个开源的配置管理工具(用Go语言编写),称为decK(代表声明式Kong) 通过deck ping检查deck是否能识别你的Kong Gateway安装 deck ping Successfully connected to Kong! Kong version: 2.3.3.2-enterprise-edition 通过deck dump把 Kong Gateway配置倒出到 "kong.yaml" 文件 deck dump 修改 kong.yaml以后通过deck diff 通过把区别显示出来 deck diff updating service alerts { "connect_timeout": 60000, - "host": "172.24.156.176", + "host": "192.10.10.18", "id": "3bdd7db4-0b75-4148-93b3-2ff11e961f64", "name": "alerts", "path": "/alerts", "port": 50200, "protocol": "http", "read_timeout": 60000, "retries": 5, "write_timeout": 60000 } Summary: Created: 0 Updated: 1 Deleted: 0 通过 deck sync应用这些变化 deck sync updating service alerts { "connect_timeout": 60000, - "host": "172.24.156.176", + "host": "192.10.10.18", "id": "3bdd7db4-0b75-4148-93b3-2ff11e961f64", "name": "alerts", "path": "/alerts", "port": 50200, "protocol": "http", "read_timeout": 60000, "retries": 5, "write_timeout": 60000 } Summary: Created: 0 Updated: 1 Deleted: 0 deck sync -s workspace1.yaml --workspace workspace1 deck sync -s workspace2.yaml --workspace workspace2 更多信息 : https://docs.konghq.com/deck/1.11.x/guides/getting-started/ https://docs.konghq.com/deck/1.11.x/guides/best-practices/
公告
Claire Zheng · 一月 30, 2023

社区名人墙来了!2022 年InterSystems 社区顶级贡献者

亲爱的开发者们!是时候公布2022 年 InterSystems 开发者社区杰出贡献者了🎉 我们很高兴为所有社区站点(英文、西文、葡语、日文、中文和法语)中最活跃的贡献者提供奖励,包括: 顶级作者——热门作者; 顶级专家——InterSystems专家; 顶级舆论制造者——意见领袖; 还有一个最新提名......年度突破奖! 在我们分享最好的之前,我们想介绍一个令人兴奋的新徽章——年度突破奖。这是一个从今年开始并为我们社区的发展做出最大贡献的人。 让我们共同见证2022年的社区名人墙,用热烈的掌声向大家致意! 👏🏼 徽章名称 优胜者(来自社区) 优胜者(来自InterSystems) 提名:年度突破奖 授予在 2022 年开始做出贡献并在 2022 年拥有最多帖子、点赞、翻译和观看次数的成员。 2022年度突破奖 @Lucas.Enard2487 @Smythe.Smythee @Mark.OReilly – 提名:InterSystems 热门作者 授予其文章在 2022 年获得最多浏览量的作者。 第一名:2022 金牌热门作者 @Yuri Marx @Toshihiko Minamoto 第二名:2022 银牌热门作者 @Lucas.Enard2487 @Michael Lei 第三名:2022 青铜热门作者 @姚 鑫 @Evgeny Shvarov 4 - 10 名:2022 热门作者 @Muhammad Waseem @Evgeniy Potapov @Robert Cemper @José Roberto Pereira @Lorenzo Scalese @Iryna Mykhailova @Dmitry Maslennikov @Guillaume Rongier @Mihoko Iijima @Eduard Lebedyuk @Qiao Peng @Alberto Fuentes @Megumi Kakechi @Ricardo Paiva 提名:InterSystems 专家 授予在 2022 年获得最多接受答案的作者。 第一名:2022 金牌专家 @Robert Cemper @Eduard Lebedyuk 第二名:2022 银牌专家 @Julius Kavay @Michael Lei 第三名:2022 铜牌专家 @Vitaliy Serdtsev @Alexander Koblov 4 - 10 名:2022 社区专家 @Dmitry Maslennikov @Jeffrey Drumm @David Hockenbroch @Cristiano Silva @John Murray @Yaron Munz @Julian Matthews @Vic Sun @Marc Mundt @Timothy Leavitt @Guillaume Rongier @Alex Woodhead @Ben Spead @Evgeny Shvarov 提名:InterSystems 意见领袖 授予在 2022 年帖子和答案获得最高赞数的作者。 第一名:2022 金牌意见领袖 @Yuri Marx @Angelo Bruno Braga 第二名:2022 银牌意见领袖 @Robert Cemper @Eduard Lebedyuk 第三名:2022 铜牌意见领袖 @Dmitry Maslennikov @Guillaume Rongier 4 - 10 名:2022 社区意见领袖 @王喆 @Muhammad Waseem @Lorenzo Scalese @姚 鑫 @Lucas Enard @Kurro Lopez @Julius Kavay @Evgeny Shvarov @Ben Spead @Rochael Ribeiro @Timothy Leavitt @Bob Kuszewski @Danusa Calixto @Raj Singh 热烈祝贺以上优胜者!感谢你们在 2022 年为 InterSystems 开发者社区做出的巨大贡献! 欢迎参与我们的年度调查,帮助我们变得更好: 👉🏼 InterSystems 开发者社区年度调研(2022) 👈🏼 Congratulations to @姚 鑫 @王喆 @Michael Lei @Qiao Peng