Instana 发布微服务应用程序样例

阅读数:379 2018 年 7 月 30 日

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 上开源。

查看英文原文: Instana Releases Sample Microservice Application

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论