Instana 是一个基于 AI 的动态容器化微服务应用程序监控解决方案提供商。在 QCon 纽约大会上,Instana发布了其微服务应用程序样例Stan’s Robot Shop,该应用程序可以作为一个沙箱,用于测试和学习微服务架构、容器化应用程序编排和自动监控技术。
Stan’s Robot Shop 是一个电子商务店面的微服务应用程序样例,其中包括产品目录、用户库、购物车和订单通道。创建该微服务应用程序样例用到的技术包括:AngularJS(1.x)、Nginx、NodeJS(Express), Java(Spark Java)、Python(Flask)、Golang、MongoDB、RabbitMQ、Redis 和 MySQL。
在设计过程中,一个主要的考虑是,样例要足够简单,可以在开发人员的笔记本上运行,但是,也要有足够的复杂度,那样才有趣,而不仅仅是一个“Hello World”示例。运行 Stan’s Robot Ship 需要 2GB 内存,使用 docker-compose 或 minikube/minishift。也可以把它部署到支持容器的云服务上,如 Google Compute、AWS ECS/EKS 和 OpenShift。
该应用程序的网页是一个使用 AngularJS(1.x)的单页应用程序。其资源由 Nginx 提供,同时,Nginx 还充当后端微服务的反向代理。那些微服务是用不同语言编写的,使用了多种框架,提供了广泛的示例场景。MongoDB 被用作产品目录和注册用户的数据存储。MySQL 用于查找配送信息。Redis 用于容纳活跃的购物车。订单通道由 RabbitMQ 处理。
构建和运行应用程序需要的组件,以及 Instana 的监控组件,都可以通过GitHub 下载。Instana 组件提供了端到端跟踪工具以及针对所包含技术的时间序列指标的可视化。
在Stan’s Robot Shop 应用程序安装后,为了查看Instana 发现和监控的应用程序,需要安装一个代理。目前,如果应用程序是通过docker-compose 在本地运行,那么该代理不支持Mac。
应用程序不会自动开始产生负载,但是,在浏览器中浏览商店,就会生成负载,点击会被捕获,可以在Instana 的仪表板中查看。对于Web 应用,没有负载生成工具,但对于微服务,有一个负载生成工具。
Instana 是开源的支持者,是多个项目的成员和贡献者,包括 Open Tracing 、 Cloud Native Computing Foundation 、 Byte Buddy 。Instana 代理使用的语言探测器全都在 GitHub 上开源。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论