microservices相关内容

一个存储库中的多个微服务

我对微服务和存储库有疑问.我们是一个小团队(5 人),我们在微服务中创建新项目.我们项目中预期的微服务应用在 10-15 个之间. 我们正在考虑为所有微服务在这样的结构中建立一个存储库: -/--/应用1--/app2--/app3-./script.sh-./script.bat 你觉得这个设计怎么样?你能推荐一些更好的吗?我们认为,如果每个应用程序都有存储库,那么对于一个团队中的那个 ..
发布时间:2021-11-17 02:25:04 其他开发

同步关注的事件溯源

我一直在努力理解如何设计一个使用支持同步请求的事件源驱动的事件驱动的后端.据我所知,要利用事件源,您必须开发系统来对事件做出反应,以便在必要时可以重播它们以重新创建您的状态.为此,这意味着我们正在尝试将事件触发器和事件处理程序分离. 如果我们假设客户端发送请求更新某些数据的情况,我们如何在使用事件驱动系统时适应这种同步请求/响应模型?您认为以下步骤是以事件驱动方式处理请求的正确方法吗: ..
发布时间:2021-11-17 02:23:39 其他开发

微服务:每个实例或每个微服务的数据源?

构建微服务架构我遇到了同一个微服务实例之间数据共享的问题. 我有微服务,大量使用它的数据源 - 每个服务请求都会导致数据库请求(通常是插入).该服务将被大量使用,我计划在负载均衡器后面隐藏多个实例.这里提出了一个问题:这些实例应该使用一个数据库(数据库会成为瓶颈吗?)还是多个(每个实例的数据源)有? 解决方案 在我对 mSOA 架构的体验中,我从未见过 MULTIPLE(每个实 ..
发布时间:2021-11-17 02:20:44 其他开发

微服务版本控制

在基于微服务的架构中适应版本控制的最佳实践是什么,在运行时支持同一服务的多个版本化部署以及消费者如何能够使用不同的版本?1)如果我们使用基于路由的版本控制作为此处提到的方法之一那么我想我们会有以下缺点 内部服务必须通过反向代理才能使用. 消费者必须始终了解所需的版本控制. 向消费者公开版本信息是最佳做法吗? 在任何情况下,我觉得以下始终适用: 对于主要版本更改,必须更改使 ..
发布时间:2021-11-17 02:20:38 其他开发

如何过滤和排序来自多个微服务的数据?

我们有处理不同但相关数据的微服务.例如,广告及其统计信息.我们希望能够为 UI(不仅是 UI)过滤、排序和聚合这些相关数据.例如,我们希望向用户展示文字中包含“汽车"且点击次数超过 100 次的广告. 挑战: 可能有很多数据.一些用户过滤后有数百万行 服务没有所有数据.例如,对于没有统计信息的统计服务广告 == 不存在的广告.它对此类广告一无所知.但是排序和过滤无论如何都应该起作用( ..
发布时间:2021-11-17 02:20:20 其他开发

微服务架构中基于用户或组成员身份的实体级访问限制

在系统中,可能存在本质上受限的数据.有时,应根据用户或组成员身份轻松限制或授予对特定实体的访问权限. 在微服务架构中实现这一点的最佳方式是什么? #1 访问控制、管理权限等是否应该由微服务本身负责?开发人员必须为每项服务实施访问控制、存储和更新权限.似乎不是很健壮且容易出错的方法. #2 创建专门的微服务处理权限管理?该服务会被其他微服务调用,在返回结果之前检查每个实 ..
发布时间:2021-11-17 02:20:02 其他开发

微服务:优缺点是什么?

与替代架构相比,使用微服务的优缺点是什么?何时应该使用微服务是否有经验法则? 解决方案 优点 Sam Newman 在构建微服务中列举了微服务的主要优势如下: 技术异质性 对于由多个协作服务组成的系统,我们可以决定使用不同的每一项内部的技术.这使我们能够为每项工作选择正确的工具,而不是不得不选择一种更标准化、一刀切的方法最小公分母. 弹性 弹性工程中的一个关键 ..
发布时间:2021-11-17 02:17:45 其他开发

微服务架构:跨服务数据共享

考虑以下针对在线商店项目的微服务: 用户服务保留有关商店用户的帐户数据(包括名字、姓氏、电子邮件地址等) 购买服务会跟踪有关用户购买的详细信息. 每个服务都提供一个用户界面,用于查看和管理其相关实体.采购服务索引页面列出了采购.每个采购项目应具有以下字段: id,购买用户的全名,购买的商品名称和价格. 此外,作为索引页的一部分,我想有一个搜索框,让店长通过购买用户名搜索购买. ..
发布时间:2021-11-17 02:17:34 其他开发

Elixir/erlang 在哪里适合微服务方法?

最近我一直在用 docker compose 做一些实验,以便部署多个协作的微服务.我可以看到微服务提供的许多好处,现在有一个很好的工具集来管理它们,我认为跳入微服务旅行车并不是非常困难. 但是,我也一直在试验 Elixir,我非常喜欢它本身提供的好处.鉴于它鼓励将您的代码打包到多个解耦的应用程序中,并支持热代码升级,您将如何将 docker 与 elixir(或 erlang,就此而言)混 ..
发布时间:2021-11-17 02:14:39 其他开发

何时以及如何将 GraphQL 与微服务架构一起使用

我试图了解 GraphQL 最适合在微服务架构中使用的位置. 关于只有 1 个 GraphQL 架构作为 API 网关将请求代理到目标微服务并强制其响应存在一些争论.微服务仍然会使用 REST/Thrift 协议进行通信. 另一种方法是为每个微服务使用多个 GraphQL 模式.拥有一个较小的 API 网关服务器,将请求路由到目标微服务,其中包含请求的所有信息 + GraphQL 查询 ..
发布时间:2021-11-17 02:14:09 其他开发

微服务:共享库与代码重复

类似的问题被问过几次,但由于每个用例都可能不同,我认为值得针对我面临的特定案例再次提问.因此,我们正在使用 .netCore 开发微服务.我们将这些服务称为ServiceA、ServiceB、ServiceC. 公共实体 如果ServiceA 调用ServiceC,则ServiceC 响应一个JSON 内容,该内容可以序列化为ResponseC 对象. 这意味着 ServiceA ..
发布时间:2021-11-17 02:09:36 C#/.NET

在微服务架构中组织授权的最佳实践?

例如,我有 3 个服务: 身份验证 卖家 买家 他们每个人都有自己的数据库、模型、服务......等 身份验证服务了解用户、用户组、角色、权限并创建令牌. 我应该在哪里存储卖家/买家实体?关于身份验证服务,还是关于卖方/买方服务? 卖方/买方服务应如何交互以创建新的卖方/买方实体? 卖方/买方服务应如何检查权限? 卖家和买家实体有一些共同的字段:姓名、 ..

微服务:什么是智能端点和哑管道?

我阅读了 Martin Fowler 的一篇文章“微服务",发现很难了解智能端点和哑管道.请解释这些术语,欢迎举例. 解决方案 我没有读过这篇文章,所以我只能推测他的确切意思,但正如他以 ESB 为例针对微服务和 ZeroMQ 作为一个例子以微服务为例,我希望我的推测非常准确: Unix(和Linux)的一个想法是构建小的独立应用程序并通过管道连接它们.我使用的可能最常见的两个命令集 ..
发布时间:2021-11-17 02:00:16 其他开发

如何在 Heroku 上部署微服务

我已经阅读了很多关于微服务的文章,并且想用这种方法构建我的应用程序.到目前为止,我所知道的是我需要一些服务,例如: 负载均衡器 - 处理每个请求,并将其推送到其他服务 授权服务 - 授权我的用户 数据库 - 用于我的微服务.我想为每项服务使用一个具有不同架构的数据库实例. 服务 A - 用于功能 A 服务 B - 用于功能 B 等等.等等等等 我发现,Heroku 是 ..
发布时间:2021-11-17 01:59:38 其他开发

在微服务之间共享代码和模式

如果您在组织中采用微服务架构,他们可以通过 zookeeper 或其相等的.但是,各种服务应该如何共享一个公共数据库架构?常用常数?和公用事业? 一种方法是将所有微服务放在同一个代码存储库中,但这与微服务带来的解耦相矛盾... 另一种方法是让每个微服务完全独立,但这会导致每个微服务必须保存的单独数据库中的代码重复和数据重复. 另一种方法是在没有上下文\状态的情况下实现功能性微服务 ..
发布时间:2021-11-17 01:58:50 其他开发

产品版本控制微服务

我进入了基于 docker 的微服务架构,我有 3 个微服务,它们共同创建了一个产品,例如“CRM 系统". 现在我希望我的客户能够随时升级他的产品.我有 3 个不同版本的微服务,客户应该看到哪一个?我猜产品版本应该独立于微服务,因为复制一个微服务版本会让我比没有版本更麻烦. 那么有没有处理这种情况的模式、想法? 我唯一想到的是拥有另一个存储库,只要其中一个微服务生成生产就绪包, ..

微服务架构 - 当顺序无关紧要时通过服务传递消息

Tl;dr:“我如何通过一堆异步、无序的微服务推送消息,并知道该消息何时通过每个微服务?" 我正在努力为特定的微服务架构寻找合适的消息传递系统/协议.这不是一个“哪个最好"的问题,而是一个关于我的设计模式/协议的选择的问题. 我在开始队列中有一条消息.假设一个带有序列化 JSON 的 RabbitMQ 消息 我需要该消息通过任意数量的微服务 这些微服务中的每一个都需要长时间运行,必 ..

微服务认证策略

我很难为微服务架构选择合适的/安全的身份验证策略.我在该主题上找到的唯一 SO 帖子是:单点登录微服务架构 我的想法是在每个服务(例如身份验证、消息传递、通知、配置文件等)中对每个用户(逻辑上非常合乎逻辑,然后他的 user_id)有一个唯一的引用,并有可能获得当前用户的id(如果已登录). 根据我的研究,我认为有两种可能的策略: 1.共享架构 在此策略中,身份验证应用程序 ..
发布时间:2021-11-17 01:43:32 其他开发

为什么微服务之间的共享库不好?

Sam Newman 在他的书 Building Microservices 中指出 服务之间耦合太多的弊端远比代码重复带来的问题严重 我只是不明白服务之间的共享代码是如何邪恶的.如果出现对共享库的需求,作者的意思是服务边界本身设计得很差,还是他真的意味着我应该在常见业务逻辑依赖的情况下复制代码?我看不出这能解决什么问题. 假设我有两个服务共有的实体共享库.两个服务的公共域对象可能 ..

微服务——以最小的内存/时间损失从其他微服务中检索特定用户的相关数据的最佳实践

我正在尝试使用 Lumen/Laravel Passport 创建微服务架构. 我有多个 dockerized 服务,它们都在不同的 VM 中作为单独的 Lumen 应用程序容器运行: API 网关服务(与 Laravel Passport 集成以进行身份​​验证和请求验证以进一步处理) 聊天服务(消息/聊天室服务) 新闻服务 ...(以及许多其他服务) 所有这些服务都有自 ..
发布时间:2021-11-17 01:42:28 其他开发