Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: 1.0
Fetching contributors…

Cannot retrieve contributors at this time

file 112 lines (95 sloc) 3.267 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
<Keyspace Name="MessageStore">
    <!--
This is just the Keyspace for qsandra message store.
You would need to configure the ReplicaPlacementStrategy,ReplicationFactor,and EndpointSnitch
as appropriate for your usecase.
-->


    <!--
row key: Broker(just 1 row per keyspace) {
destination-count: long
}
-->
    <ColumnFamily Name="Broker" CompareWith="BytesType"/>


    <!--
row key: destinationName
Destinations: {
test.topic : {
isTopic: true
max-store-sequence: long
max-broker-sequence: long
queue-size: long
} ,
test.destination : {
isTopic: false
lastSequence: long
max-store-sequence: long
max-broker-sequence: long
queue-size: long
}
}
-->
    <ColumnFamily Name="Destinations" CompareWith="BytesType"/>

    <!--
row key: destinationName
Messages: {
test.topic : {
storeId : byte[]
storeId2 : byte[]
},
test.destination : {
storeId3 : byte[]
storeId4 : byte[]
}
}
-->
    <ColumnFamily Name="Messages" CompareWith="LongType"/>


    <!--
Same as Messages CF, but values are just a single byte, used to count messages, since
cassandra has to load all the columns into memory to count them
-->
    <ColumnFamily Name="StoreIdsInUse" CompareWith="LongType"/>


    <!--
row key: destinationName
MessageIdToStoreId : {
test.topic : {
producerId->producerSeq : storeId
}
}
-->
    <ColumnFamily Name="MessageIdToStoreId" CompareWith="UTF8Type"/>


    <!--
row key: destinationName
Subscriptions : {
test.topic : {
clientId~~~~subscriptionName :{
selector: byte[]
lastMessageAck: long
subscribedDestination: byte[]
}
}
}
-->

    <ColumnFamily Name="Subscriptions" ColumnType="Super"
                  CompareWith="UTF8Type"
                  CompareSubcolumnsWith="UTF8Type"/>


    <!--
~ Strategy: Setting this to the class that implements
~ IReplicaPlacementStrategy will change the way the node picker works.
~ Out of the box, Cassandra provides
~ org.apache.cassandra.locator.RackUnawareStrategy and
~ org.apache.cassandra.locator.RackAwareStrategy (place one replica in
~ a different datacenter, and the others on different racks in the same
~ one.)
-->
    <ReplicaPlacementStrategy>org.apache.cassandra.locator.RackUnawareStrategy</ReplicaPlacementStrategy>

    <!-- Number of replicas of the data -->
    <ReplicationFactor>1</ReplicationFactor>

    <!--
~ EndPointSnitch: Setting this to the class that implements
~ AbstractEndpointSnitch, which lets Cassandra know enough
~ about your network topology to route requests efficiently.
~ Out of the box, Cassandra provides org.apache.cassandra.locator.EndPointSnitch,
~ and PropertyFileEndPointSnitch is available in contrib/.
-->
    <EndPointSnitch>org.apache.cassandra.locator.EndPointSnitch</EndPointSnitch>

</Keyspace>
Something went wrong with that request. Please try again.