Microsoft Sync Framework replacement; or any robust peer-to-peer messaging service?

Decided to ask this after reading this answer to the same question: Is there a successor for Sync Framework 2.1?
That was from more than 5 years ago.

TL;DR: It’s been five years since that question was asked so I thought it was worth asking again. There’s also the possibility another solution that’s not a database synchronizer may exist; we need to be able to find differences from different peers in a peer-to-peer system in a resilient manner, in real time.

Unfortunately, we are only now trying to get rid of MSSFX from our software and the answer to the linked question doesn’t give me much hope because…

  1. We want P2P so no single point of failure.
  2. Updates must be within a second or two.
  3. Our product is behind a firewall and for other reasons the use of the cloud is a non-starter.

But while analyzing our use of MSSFX I came to realize that we weren’t really using it as a database replicator, not like other people were. We were using it more like a message service. The database we were synchronizing was not the business data, it was our own metadata pointing to that business data.

Peer A would make a change to its business data.
Peer A would update the meta data for that business data and notify any other peer currently online that something changed; it didn’t specify what objects changed.
Other peers receiving this notification would use SyncFx to find differences between their meta data and Peer A’s meta data.
When differences were found, the associated business data would be requested from Peer A and stored into the business database.

I realized that a persisted messaging system almost works for us, and that’s almost what this was. The major difference was that it wasn’t persisting every message, it was just persisting the most recent message per business object. So a peer that was not online when Peer A made its change would sync with Peer A and immediately find that difference and ask for the business object.

The other critical difference was the peer-to-peer nature. I’ve looked at messaging solutions, but the problem is that if Peer A sends a message and recognizes that Peer C did not receive the message, that knowledge was only on Peer A. So if Peer A shuts down before Peer C returned, Peer C would not know it missed anything. But by using SyncFx, when Peer C returned it would sync with Peer B and recognize that it needs an update to the business object Peer A changed. And later when Peer A returned, SyncFx would not find a difference, so the “message” wouldn’t need to be sent again.

So, in addition to asking again, five years later, if there’s a replacement to SyncFx, I’m also asking if there may be another solution that better fits our need because it looks to me like we were misusing SyncFx. In the end, we were only using it to identify differences. Saving those differences we could’ve done on our own.

Sidenote: We are already looking at https://github.com/Mimetis/Dotmim.Sync which we found in a post with the same question on the Microsoft forums. Right now it looks like the strongest contender but I’m concerned that it appears to be a single guy and it’s just as complex as SyncFx. Another reason we’re moving away from SyncFx is because there were certain behaviors we didn’t understand that caused us a lot of trouble, behaviors we didn’t want or need. Using another solution that’s trying to cover all possible bases makes me feel like we’ll be heading in that direction again.

Second sidenote: We are also considering coming up with our own solution, but we’re being pressured to find a 3rd party solution. That’s another reason why I’m not sure if Dotmim.Sync would be acceptable; I think they’re looking for something with the backing of a company that’ll provide assistance.

Thanks.

So far we’ve considered RabbitMQ for messaging, but it’s missing the case where the sender of the message goes down before the peer that missed the message returns.

CouchBase seemed like a possibility except that it didn’t look like it was meant to be part of another product to be sold; we likely wouldn’t want to buy seats for every peer and every customer.

Dotmim.Sync has been interesting to look at and seems like it would be the easiest to insert into the hole left by SyncFx, but I worry there may not be much support and we may encounter the same issues we had with SyncFx.

New contributor

JJJunior is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật