@lsmn
2018-07-26T22:22:12.000000Z
字数 1273
阅读 1663
微服务
容器
Instana是一个基于AI的动态容器化微服务应用程序监控解决方案提供商。在QCon纽约大会上,Instana发布了其微服务应用程序样例Stan’s Robot Shop,该应用程序可以作为一个沙箱,用于测试和学习微服务架构、容器化应用程序编排和自动监控技术。
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上开源。