I am not able to find an answer to my question with any documentation.
Reliable collections are shared through several nodes of cloud and have name and persistence.
Are they sharable through different applications or are they application specific?
For instance, two different MVC applications use the same name for reliable dictionary hosted at the same account. Will the data be the same?
Reliable collections are bound to the service they are declared in. It is not a distributed data store in a sense that it can be read/write to from other services directly.
If you need to access the data from other services you will have to explicitly create and expose methods on the services to expose the data inside the reliable collections.
So, if you have multiple services each having their own reliable collection, all with the same name it will still be multiple independent collections.
The idea behind reliable collections is that the data is stored as close to the consuming service as possible. It propagates the idea that each (micro)service has its own data store.
Reading this might give you some more background information and a higher level overview.
Do mind that services can be partitioned, meaning each service instance can only access a partitioned part of the reliable collection and cannot access data in other partitions.
So, summarized:
Reliable collections are shared through several nodes of cloud and have name and persistence.
Reliable collections are not shared between nodes, but the data is replicated. Sharing and replicating are two different things!
Are they sharable through different applications or are they application specific ?
Neither, they are service specific (a service fabric application consists of one or more services)
For instance two different MVC applications use same mane for reliable dictionary hosted at same account. Will data be same?
No, assuming both MVC applications are hosted in separated services the data won't be the same. They do not share the same reliable collection.