sand:作为依赖关系网络的系统架构

sand的Python项目详细描述


python代码和笔记本,将系统架构建模为依赖关系网络

sand使用python和jupyter笔记本探索 将系统架构表示为 工程工件及其相互关系。

工程工件是图形中的顶点。对于一个软件库, 工件是函数,依赖项是函数调用。为了 restful微服务,工件是服务,依赖项是 API调用。

有向边表示依赖关系及其转置、影响。

假设我们有两个微服务,A和B。

如果b调用a,那么b依赖于a。 知道b是客户机,所以依赖关系是定向的。

这种关系的转换是A影响或影响B: B调用可能中断的A接口中不向后兼容的更改 b.b中的变化不会影响a,因此再次引导边缘。

这个简单的模型在描述 任意复杂的系统架构。沙堆和 随附的jupyter笔记本提供了可视化的工作示例 以及分析。

安装

pip install sand

您可能还希望克隆此git repo,以便与 以下示例:

git clone git@github.com:testedminds/sand.git
cd sand

开始

沙子被记录在一系列的jupyter笔记本中:

在Docker中运行

你可以通过Docker运行这些笔记本进行实验。假设你有 一个正在运行的docker-machine并且您已经克隆了sandrepo:

git clone git@github.com:testedminds/sand.git
docker pull testedminds/sand
make docker-docs
# And after the container starts...
make docker-open

当笔记本在浏览器中打开时,您将看到该笔记本 仪表板,它将显示 docs目录。

这些命令转换为:

docker run -d -p 80:8888 -v `pwd`/docs:/opt/sand --rm --name sand testedminds/sand:latest \
                jupyter notebook --allow-root --ip 0.0.0.0 --no-browser --NotebookApp.token=''

open http://192.168.99.100

这是一种有用的技术,可以在 你的本地文件系统。

本地运行

不使用Docker在本地运行笔记本:

pip install -r requirements.txt
cd docs
jupyter notebook
  • Install Cytoscape运行可选的 细胞景观的例子。启动Cytoscape并关闭欢迎屏幕。 你可能想在左下角勾选“不再显示”。

了解更多

看鲍比·诺顿在Windy City GraphDB的演讲 更详细的概念介绍。

笔记本利用Cytoscape’s RESTful APIpython-igraph

许可证

版权所有©Bobby Norton和Tested Minds, LLC

Apache License, Version 2.0下发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JMX MBean在应用程序部署时自动注册   java如何创建现有JavaFX对象的数组   IntelliJ的java单例线程安全吗   java将Base64编码字符串转换为PDF,无需使用Javascript中的任何库(IE兼容)   使用TestNG运行多个测试套件的java   java Firebase/Android:获取当前用户电子邮件   java如何捕获和传播通配符类型参数?   java如何在安卓中使用动画翻转图像   菜单和游戏活动之间的java延迟   java如何将对象转换为JSON(不包括属性)   java无法在可运行的JavaFX中更改接口   使用jsp/servlet的java清理URL?   java grpc示例是否打算跨语言使用?   java缺少目标JNDI名称   GridBagLayout中的java非均匀列   java如何在单独的线程中执行大量WS调用并增加单个结果变量?   以前使用数据导入数据时,java无法使用save()进行插入。sql   带有单独收集的java流过滤器