是否可以使用 Apache Ignite 作为 PostgreSQL RDBMS 中多个表的透明缓存并使用 Ignite SQL 查询该缓存?
例如像这样:
应用程序(通过 SQL)---> Apache Ignite(如果未加载数据)---> Postgresql
我是 Ignite 的新手,无法弄清楚如何做到这一点,或者甚至可能。
我需要在两个外部服务之间构建REST-SOAP Gateaway第一个Web服务发出SOAP请求并等待SOAP响应.第二个服务(我的,用Play Framework 1.2.4编写)只能使用RESTful方法.出于多种原因,我不想将SOAP相关的东西与第二个服务集成.所以我需要一些第三项服务来在他们之间采取行动
我已经研究过使用带有Apache Camel的Spring网络应用程序,但仍然无法全面了解,因为Camel有很多模块.CXF-RS和SOAP组件看起来很容易,但我无法弄清楚如何使用它们实现代理.
首先,如何使Camel监听指定的SOAP请求.然后,如何将RESTful服务的响应路由回呼叫服务.
我试图只使用弹簧配置.
我会澄清我的问题。
我有一个任务来集成两个系统:一个为 html 提供服务的前端和一个为前端提供数据的后端。后端有一个非常大的 REST api,所以我必须使用多个路由。我计划使用单个骆驼上下文并将所有路线包装到其中。
<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
<from uri="direct:data"/>
<to uri="ahc:http://localhost/data"/>
<!--And so on. More than 70 routes-->
</camelContext>
Run Code Online (Sandbox Code Playgroud)
然后,我计划按照隐藏中间件文章中的建议,在服务方法上使用 @Produce 注释来调用路由
public interface Service {
String data();
}
public class MyBean {
@Produce(uri = "direct:data")
protected Service producer;
public void doSomething() {
// lets send a message
String response = producer.data();
}
}
Run Code Online (Sandbox Code Playgroud)
据我了解从这里和这里获取的信息,我最终会在我的应用程序中增加 70 个线程(每条路线一个)。我担心它会导致严重的性能下降,而后端 api 会增长,线程数也会随之增长。这是正确的吗?如果这是真的,我如何避免这种情况?据我了解,在这种情况下我不能使用 ExecutorService 线程池。
提前感谢您的任何回答。
我从Java转到Go,有些事情使我感到困惑。
例如,让我们考虑以下代码:
package main
import (
"fmt"
)
type I interface {
Do()
MegaDo()
}
type A struct {
}
func (a *A) Do() {
fmt.Println("A")
}
func (a *A) MegaDo() {
a.Do()
}
type B struct {
A
}
func (a *B) Do() {
fmt.Println("B")
}
var i I
func main() {
fmt.Println("Hello, playground")
var i I = &B{}
i.MegaDo()
}
Run Code Online (Sandbox Code Playgroud)
这里我们有一个I方法Do()和接口MegaDo()。Struct A既实现方法又实现内部MegaDo调用Do。而B由以上A,仅覆盖Do() …
apache-camel ×2
java ×2
caching ×1
go ×1
ignite ×1
integration ×1
oop ×1
postgresql ×1
rest ×1
routes ×1
soap ×1
spring ×1