小编Pau*_*son的帖子

编排微服务

编排微服务的标准模式是什么?

如果微服务只知道它自己的域,但是有一个数据流需要多个服务以某种方式进行交互,那么它的方法是什么呢?

假设我们有这样的事情:

  • 进销存
  • 装船

为了论证,让我们说一旦订单发货,就应该创建发票.

在某个地方,有人按下GUI中的按钮,"我已经完成了,让我们这样做!" 在一个经典的整体服务架构中,我会说有一个ESB处理这个,或者Shipment服务知道发票服务并且只是调用它.

但是,在这个勇敢的微服务新世界中,人们处理这个问题的方式是什么?

我确实认为这可以被认为是基于意见的.但是它有一个具体的方面,因为微服务不应该做上述事情.因此,必须有一个"根据定义应该做什么而不是",这不是基于意见的.

射击.

http orchestration hypermedia microservices

185
推荐指数
4
解决办法
6万
查看次数

com.sun.jdi.InvocationException发生了调用方法

我只是想创建一个类的对象,但在调试时遇到了这个错误.谁能告诉我这是什么问题?此代码的位置在一些Spring(2.5)Service类中.

还有一个类似的问题:OJB参考描述符1:0的关系?我应该将自动检索设置为false吗?

非常感谢〜

java spring

69
推荐指数
5
解决办法
15万
查看次数

spring @Scheduled带注释的方法是否在不同的线程上运行?

我有几个用@Scheduled注释的方法(fixedDelay = 10000).

在应用程序上下文中,我有这个注释驱动设置:

<task:annotation-driven />
Run Code Online (Sandbox Code Playgroud)

问题是,有时一些方法执行会延迟几秒甚至几分钟.

我假设即使方法需要一段时间才能完成执行,其他方法仍然会执行.所以我不明白延迟.

有没有办法可以减少甚至消除延迟?

java spring scheduled-tasks

64
推荐指数
6
解决办法
4万
查看次数

HTTP状态424或500表示外部依赖性的错误

我正在尝试创建一个具有2个依赖项的服务.其中一个依赖项是内部管理的,而第二个需要对第三方API进行外部http出站调用.该序列需要更新资源,然后执行http出站呼叫.

所以我的问题是,在第二步失败的情况下,返回正确的http状态代码是什么?

如果响应是424或500,并且消息正文解释了遇到的错误?

  • 424:方法失败 - 表示该方法未在其范围内的特定资源上执行,因为该方法的某些部分执行失败导致整个方法被中止.
  • 500内部服务器错误.

rest http-status-codes

46
推荐指数
3
解决办法
3万
查看次数

字符串数组文字?我该如何编码呢?

虽然这可能是一个愚蠢的问题,但我无法弄清楚如何声明一个数组文字分组一些字符串文字.

例如,假设我想要java数组["January", "February", "March"].我怎样才能将其翻译成最新的kotlin版本(today, 12.0.0)

我试过了什么?

stringArray("January", "February", "March")
Run Code Online (Sandbox Code Playgroud)

arrays kotlin

41
推荐指数
2
解决办法
2万
查看次数

Maven`pom.xml`中<plugins>和<pluginManagement>标记之间的区别

在配置我的时候pom.xml,我不得不配置一个插件.我发现的是<plugin>标签可以插入其中一个<plugins><pluginManagement>元素.我很迷惑!

<plugins>和之间有什么区别<pluginManagement>

java pom.xml maven

39
推荐指数
1
解决办法
3万
查看次数

最佳事件采购数据库战略

我想设置一个小型的事件采购库.我在网上阅读了一些教程,到目前为止一切都被理解了.

唯一的问题是,在这些不同的教程中,有两种不同的数据库策略,但没有任何注释,为什么他们使用他们使用的那个.

所以,我想问你的意见.重要的是,为什么您更喜欢您选择的解决方案.

  1. 解决方案是db结构,您可以在其中为每个事件创建一个表.

  2. 解决方案是db结构,您只需创建一个通用表,并将事件作为序列化字符串保存到一列.

在这两种情况下,我都不确定它们如何处理事件更改,也许它们会创建一个全新的事件.

亲切的问候

database cqrs event-sourcing

28
推荐指数
3
解决办法
3万
查看次数

无法加载TestContextBootstrapper - Spring Unit测试

我必须使用Spring在我的一个Dao类上执行单元测试.这是我的单元测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:app-config.xml"})
@ActiveProfiles("local")
public class HouseDaoTest {

    @Autowired
    HouseDataDao houseDataDao;

    @Test
    public void saveTest(){
        HouseData data = new HouseData();
        Address add = new Address();
        // Truncating for sake of simplicity
        houseDataDao.save(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

和我的bean配置文件:

APP-config.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <import resource="BeanConfiguration-localhost.xml"/>
    <import resource="BeanConfiguration-production.xml"/>
</beans>
Run Code Online (Sandbox Code Playgroud)

BeanConfiguration-localhost.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans profile="local" 
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    <context:annotation-config />
    <tx:annotation-driven />
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/dbtest" /> …
Run Code Online (Sandbox Code Playgroud)

spring unit-testing spring-test

22
推荐指数
2
解决办法
3万
查看次数

API Gateway和ESB有什么区别?

ESB是SOA解决方案中用于路由,消息转换,协议桥接等的传统中间件.现在,几家供应商提供了一种名为API Gateway的新型中间件解决方案.这些解决方案通常被描述为访问组织公开提供的REST和SOAP服务的中心点.但是,API网关解决方案似乎提供了典型ESB功能的子集.

那么,ESB和API网关之间有什么区别?我什么时候应该使用其中一种?

rest soa esb ibm-api-management

21
推荐指数
3
解决办法
2万
查看次数

微服务中的会话管理

我们有以下设置.

  1. STM(Stingrey Traffic Manager)负载平衡+会话粘性
  2. Weblogic'集群'
  3. Auth由第三方工具处理

因此,我不必担心有关水平扩展/运行应用程序的多个实例的会话.STM/Weblogic集群确保后续请求来到同一个受管服务器.

我们目前拥有的是单片应用程序,我们正在努力转向微服务.此外,我们不想离开当前的基础设施(即STM/Weblogic集群/ Auth工具).我们计划的是:

  1. 网关WAR将请求路由到其他微服务
  2. 每个功能子域的N x微服务(WAR)
  3. 只有API网关接收用户请求,并且无法从外部访问其他微服务

所以我的问题是

  1. API网关应该是状态满的而其他微服务是无状态的吗?
  2. 如果是这样,应该如何在API网关和微服务之间共享用户会话数据?

请建议任何更好的替代方案和资源/链接.谢谢.

java cookies session weblogic microservices

16
推荐指数
2
解决办法
2万
查看次数