螺栓有什么优势超过http,为什么我们更喜欢螺栓,

时间:2017-05-28 03:16:53

标签: java spring neo4j spring-data-neo4j

我正在后端使用neo4j和Spring Data Neo4j(SDN)开发图形数据库。 SDN允许我使用HTTP或BOLT连接到neo4j,SDN还提供了我需要提到的所有配置,包括属性和依赖性

#Replace http with bolt    
spring:
    data:
        neo4j:
            uri: http://localhost:7474
            username: neo4j
            password: nopassword

然而,在使用HTTP时,我不需要在刚刚spring-boot-starter-data-neo4j正常工作中包含任何其他依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>

但是对于使用BOLT,我需要包含一个额外的依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-neo4j</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.neo4j</groupId>
                <artifactId>neo4j-ogm-http-driver</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j</artifactId>
        <version>4.2.2.BUILD-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-ogm-bolt-driver</artifactId>
        <version>2.1.2</version>
    </dependency>

所以让我在较小的问题中突破我的问题

  1. 我们为什么要使用bolt而不是HTTP?
  2. 与HTTP有什么不同?
  3. 它对HTTP有哪些优点或缺点?
  4. 我应该使用它还是只是HTTP很好?

1 个答案:

答案 0 :(得分:2)

Bolt是一种二进制协议,更紧凑,吞吐量高于HTTP。您可以考虑将HTTP与当前版本的SDN一起使用的唯一原因是您使用HAProxy前端的HA设置。 否则,Bolt应该是您的默认选择。

有关螺栓的更多信息:https://neo4j.com/blog/neo4j-3-0-language-drivers/ https://dzone.com/articles/introducing-bolt-neo4js-upcoming-binary-protocol-p