microservices相关内容
背景: 我正在构建一个应用程序,并且所建议的体系结构是基于微服务体系结构的事件/消息驱动. 整体的处理方式是我有一个User/HTTP request,并且该命令会操作某些具有直接synchronous response的命令.因此,响应同一用户/HTTP请求是“无麻烦的". 问题: 用户将HTTP request发送到 UI服务(有多个UI服务),从而将一些事件触发到队列
..
在使用Spring Cloud开发微服务的过程中,我们开始使用Zuul作为代理来连接从外部到微服务的任何连接,以及任何需要与另一个微服务联系的微服务. 一段时间后,我们得出结论,Zuul被设计为边缘服务(仅将来自外部的流量代理到微服务),并且不应用于微服务间的通信.尤其是Spring Cloud建议使用eureka与其他服务建立直接(潜在的负载平衡)连接的方式,使我们反对在所有内容之间都使用
..
与替代架构相比,使用微服务的优缺点是什么? 使用微服务时有经验法则吗? 解决方案 优点 Sam Newman在构建微服务中,列举了微服务的主要优点如下: 技术异质性 在一个由多个协作服务组成的系统中,我们可以决定使用不同的 每个内部的技术.这使我们能够为每个工作选择合适的工具,而不是 必须选择一种更加标准化的,“一刀切"的方法,而这种方法常常最终被 最低的公分母.
..
为在线商店项目考虑以下微服务: 用户服务保留有关商店用户的帐户数据(包括名字,姓氏,电子邮件地址等) 购买服务跟踪有关用户购买的详细信息. 每个服务都提供一个用于查看和管理其相关实体的UI. 采购服务索引页面列出了采购.每个购买项目应具有以下字段: id,购买用户的全名,购买的商品标题和价格. 此外,作为索引页面的一部分,我想有一个搜索框,让商店经理可以通过购买用户名来搜索商品.
..
虽然每个微服务通常都会拥有自己的数据-但某些实体在多个服务之间必须保持一致. 对于诸如微服务架构之类的高度分布式环境中的数据一致性要求,设计有哪些选择?当然,我不希望使用共享数据库体系结构,在该体系结构中,单个数据库管理所有服务的状态.这违反了隔离和无共享原则. 我确实知道,当实体被创建,更新或删除时,微服务可以发布事件.所有对此事件感兴趣的其他微服务都可以相应地更新其各自数据库中的链
..
我们想为我们的gRPC-microservices构建一个Javascript/HTML gui.由于浏览器端不支持gRPC,因此我们考虑使用Web套接字连接到node.js服务器,该服务器通过grpc调用目标服务. 我们很难找到一个完美的解决方案来做到这一点.特别是,由于我们使用gRPC流在微服务之间推送事件. 似乎我们需要第二个RPC系统,仅用于在前端和node.js服务器之间进行通信.这似乎
..
我刚刚阅读了微服务和PaaS体系结构上的一篇文章.在那篇文章中,作者大约说了三分之一,(在像疯了一样疯狂地归一化下): 重构数据库架构,并对所有内容进行规范化,以允许数据的完全分离和分区.也就是说,请勿使用为多个微服务提供服务的基础表.不应共享跨越多个微服务的基础表,也不应共享数据.相反,如果多个服务需要访问相同的数据,则应通过服务API(例如已发布的REST或消息服务接口)进行共享.
..
我试图了解GraphQL在微服务体系结构中最适合使用的地方. 关于仅使用1个作为API网关将请求代理到目标微服务并强制其响应的GraphQL模式,存在一些争论.微服务仍会使用REST/Thrift协议进行交流. 另一种方法是每个微服务具有多个GraphQL模式.拥有一个较小的API网关服务器,该服务器使用请求的所有信息+ GraphQL查询将请求路由到目标微服务. 第一种方法
..
在我的项目中,我尝试使用opentracing实施分布式跟踪. 我的微服务具有以下结构. -- API-Gateway |_ User-Service |_ Notification 在我的API网关中,我启动并在API网关中,我使用到函数来开始跟踪,代码取自在main()中: gatewayTracer := &apiTracer{tracer
..
我的API网关启动一个跟踪器和一个跨度以验证电子邮件.然后将其传递给user-service进行验证. 我想将此span详细信息作为json对象传递给user-service,并以 validateEmailSpan := apitracer.tracer.StartSpan("Validate Email") emailJson := checkEmail{ G
..
我正在尝试使用http.NewRequest()将数据从一个golang服务传递到另一服务.为此,我使用了以下代码: httpClient := http.Client{} userserviceUrl := "http://user:7071/checkemail" form := url.Values{} form.Se
..
经过严格的研究和分析,我终于到了使我感到困惑的地方:“微服务是设计模式还是架构". 有人说这是一种模式,已发展成为单片应用程序的解决方案,因此是设计模式 毫无疑问,有人证实这是一个有关其开发,管理,可伸缩性,自主性和可扩展性的体系结构.全栈. 我欢迎您澄清自己的任何想法或建议. 解决方案 微服务最好被描述为一种架构风格.除了体系结构决策外,样式还包括与组织和过程相关的注意事项. 建筑
..
我有一些微服务,这些服务通过API网关公开.网关负责处理身份验证和路由到系统中.网关后面的服务主要是简单的CRUD服务.每个服务都公开其自己的API,并且它们通过HTTP同步通信.所有这些服务,包括API-Gateway,都是“默认" NestJS应用程序. 让我们坚持“猫"的例子.每当Cat-Service更新或创建新的Cat时,我都希望使用CatCreatedEvent或CatUpdat
..
我有一个RestClient调用GET请求到spring服务(服务器),该服务器正在接受HTTP2请求,并且我得到302作为响应.如何使用spring RestTemplate发送Http2请求. Exception in thread "main" org.springframework.web.client.ResourceAccessException: I/O error on GE
..
例如,当我运行简单的代码时,我已经安装了 Cro 模块: my %headers = {Authorization => OAuth realm="", oauth_consumer_key="xxxxxxxxxxxxxxxx", oauth_nonce="29515362", oauth_signature="KojMlteEAHlYjMcLc6LFiOwRnJ8%3D", oauth_
..
我目前正在编写一个包含大量微服务的Web应用程序.我目前正在探索如何在所有这些服务之间进行正确的通信,并且我决定坚持使用消息总线,或更具体地说是Apache Kafka. 但是,我有几个问题不确定如何从概念上解决. 我正在使用API网关服务作为应用程序的主要条目.它充当将操作转发到适用的微服务的主要代理. 请考虑以下情形: 用户将一些信息发送到POST请求到API网关. 网关会生
..
我已经在PLay 2中将应用程序划分为不同的项目,但是我只是意识到我不知道如何在同一服务器上运行多个播放应用程序. 有人知道怎么做吗? 让我们假设这是不可能的,因此,我将在同一个根项目中部署多个play应用程序(微服务将充当插件).您认为这会击败微服务架构吗?我将使每个模块独立运行. 解决方案 通过服务器,我猜你是说Tomcat/Jetty/其他容器/etc?您可以将每个服务部
..
我们将使用Spring Boot创建服务.我们最初的想法是,每个服务(不一定是微服务)都是独立的,并作为.jar文件进行部署. Maven进行构建. 我想知道什么是好的Spring Boot项目结构,因为每个服务都是独立的,但是我猜服务仍然会有一些可以在或应该在服务之间重用的代码/实体 选项: 每个服务都是一个独立的Spring Boot项目.仅实现实际服务所需的实体,控制器和工
..
这对我来说是第一次,所以请耐心等待我的第一个问题. 我认为我遇到某种配置问题,但是经过一天的实验,我陷入了困境.我们的应用程序基于Spring-Cloud [Brixton版本].我们的配置如下:Portal(服务于基于角度的Web-ui的Web应用程序),其中的zuul代理配置了到我们的网关服务的单个路由,如下所示: zuul: ignoredServices: '*' pr
..
类似的问题被问了几次,但是由于每个用例可能都不相同,所以我认为有必要针对我所面对的具体情况再次提出类似的问题. 因此,我们正在使用.netCore开发微服务.我们将这些服务称为 ServiceA , ServiceB , ServiceC . 常见实体 如果 ServiceA 调用 ServiceC ,则 ServiceC 使用JSON内容进行响应,该内容可以序列化为 Response
..