Имеется приложение, написанное на C++. Это сервис. С++, конечно, unmanaged.
Принимает запросы по некоторому сетевому интерфейсу, отдает ответы.
Часть с взаимодействием с другими сервисами, всякие gRPC и Кафки, пока не сделаны.
Часть для обработки запросов, сделана. Обработка сложная, на обработку одного запроса требуется 1-3 Гб памяти, и до нескольких секунд времени.
У сервиса есть свой кеш в памяти, примерно 50 Гб размером.
Есть мысль — не пытаться написать все на C++, а задействовать существующий код для взаимодействия с другими сервисами на C#
Переделать сервис в библиотеку, подключить ее в C# сервисе. Все внешнее взаимодействие будем писать на C#, там скорость не слишком важна. А часть где требуется производительность, которая к тому же уже сделана — оставляем на C++.
Насколько это хорошая идея, какие возможны проблемы?