介绍Cereebro

我很自豪地介绍项目Cereebro的 1.0.0版本!

它是什么 ?

保留软件文档是一个永恒的问题。 在微服务时代,即使您进行了设计,也很容易在分布式系统中迷失方向。

Cereebro自动建立一个分布式系统的地图 。

为什么呢

Cereebro的出生是出于强烈的动机:懒惰。

在edelia (EDF小组)的实验室(实验)团队中担任技术负责人非常有趣。 与其他团队相比,我们有更多的空间来制定技术决策,尽管有时可能会像其他团队一样要求我们“做家务”并遵循部分流程。 这就是架构团队最终要求我维护我们团队构建的所有微服务及其相关性的列表的方式。 我没有花几个小时来填写Excel工作表,而是要求稍加延迟,以便构建可以永久执行而不会出错的工具。

CTO Dominique Vienne给予了我们这一延误,而我的同事Luc Warrot则很容易被使用开源代码解决无聊任务的想法说服。

当我开始从事该项目并在电视上看到X战警时,这个名字就出现了Cereebro。 查尔斯·泽维尔(Charles Xavier)用Cerebro寻找突变体的方式与我想在我们的系统中寻找微服务的方式相同。 这也与Netflix团队用于其开源工具(Zuul等)的电影参考相一致。

请注意, cerebro的意思是西班牙语的大脑 ,实际上,它不应该像美国人一样发音为cereebro ……cerebro.io却不可用!

经过几周的编码(到深夜),我们有了一个可以正常工作的原型,并决定在1.0.0版之前添加更多功能。 尽管我严重低估了抛光零件要花多长时间,但我很高兴我们已经准备好生产。

这是我们的第一个开源项目,收到社区的积极反馈已经很令我满意。

@michaeltecourt @springboot @springcloud @NetflixOSS 感谢您的工作,Cereebro是我长期以来一直希望能够动态查看微服务依赖项的东西。

—菲利普·达·科斯塔(@dacofr) 2017年5月11日

我们希望Cereebro对您和我们一样有用。

怎么样 ?

我们在Spring生态系统中找到了所有组成部分:

  • Spring Context主要包含检测应用程序依赖项所需的所有内容,这只是分析Bean的问题
  • Spring Boot@Conditional注释使我们的关系检测器优雅而轻巧
  • Spring Cloud和Netflix OSS为我们提供了系统中运行的所有应用程序的中央注册表,并且还提供了一个集中的位置来发布我们在这些应用程序之间检测到的关系

花几分钟时间了解如何入门 ,或者在下面找到更快的摘要。

塞里布罗·斯尼奇

将Cereebro Snitch Spring Boot Starter添加到每个应用程序中,以检测它们与其他组件的关系:

  io.cereebro cereebro-snitch-spring-boot-starter  

Cereebro服务器

创建一个Cereebro服务器,该服务器将根据应用程序发送的所有信息构建完整的图形:

  io.cereebro cereebro-server-spring-boot-starter   org.springframework.cloud spring-cloud-starter-eureka  

在配置类的某处添加@EnableCereebroServer

 @SpringBootApplication @EnableCereebroServer public class CereebroServerEurekaClientApplication { // ... } 

学到更多

访问Cereebro.io以查找源代码 (Apache 2.0许可证),如何开始使用 ,查看示例并观看实时演示或阅读详细文档 。

Cereebro版本在Maven Central上可用。