在微服务中的简单应用

时间:2018-04-07 15:36:40

标签: microservices

我是微服务的新手,具有理论知识。我想在微服务中做一个小应用程序。任何人都可以帮我解释如何实现微服务? 在此先感谢!!

3 个答案:

答案 0 :(得分:4)

您可以使用以下三种微服务创建类似货币转换应用的内容:

  1. 限制服务;
  2. 兑换服务;
  3. 货币兑换服务。
  4. 限制服务和货币转换服务可以与数据库通信,以检索限制和货币转换的值。

    有关详细信息,请查看github.com/in28minutes并查看微服务存储库。

答案 1 :(得分:1)

无论您的微服务代码多么完美,如果某些特定情况下微服务架构无法正常工作,您可能会遇到支持和开发方面的问题 规则。

以下规则可以在微服务方面为您提供很多帮助:

  1. 您必须自己做所有事情,因为您没有开箱即用的Rails和体系结构可以通过一个命令启动。您的微服务应该加载库,建立客户端连接,并能够在由于某种原因停止工作时释放资源。

这意味着在微服务文件夹中并执行“ ruby​​ server.rb”命令(用于启动微服务的文件)后,我们应使微服务执行以下操作:

加载使用过的宝石,供应商库(如果使用)和我们自己的库 对适配器或客户端连接类使用配置(取决于环境) 建立客户端连接(此处表示永久连接)。由于您的微服务应已准备好进行任何关闭,因此您应注意在这些时候关闭这些客户端连接。 EventMachine及其回调机制对此有很大帮助。 之后,应该加载您的微服务并准备工作。

  1. 将与服务的通信封装到抽象命名的适配器中。我们根据它们的角色(PubSub,SMSMessenger,Mailer等)来命名这些适配器。这样,如果我们的类的名称与服务无关,我们总是可以通过替换服务来更改这些适配器的内部实现。

例如,我们从一开始就几乎总是在应用程序中使用Redis,因此也有可能将其用作消息总线,这样我们就不必集成任何其他服务。但是,随着应用程序的增长,我们应该考虑像RabbitMQ这样的解决方案,这种解决方案更适合像我们这样的情况。

  1. 如果代码的设计方式是使类彼此耦合,请按照依赖关系反转原则进行操作。这将帮助您的代码避免lib引导问题。

了解更多here

答案 2 :(得分:0)

您可以尝试拆分现有的Monolithic应用程序,以获得有关微服务架构的视角。

我撰写了this文章,其中讨论了如何将Django应用程序拆分为微服务。希望它有所帮助。