Добавление tor в API Thrift / Astyanax

Я пытаюсь добавить TOR на вершине бережливости для Astyanax и мне интересно, пытался ли кто-нибудь или сталкивался с подобными проектами. Обширный поиск в Google (и даже поиск в bing) ни к чему не привел. Я смотрел через исходный код Astyanax, пытаясь выяснить, где происходит фактическая связь между клиентом и Кассандрой, и где он оказался в этом классе. Насколько я могу судить, это играет небольшую роль, но что мне действительно нужно найти, так это то, что API использует объекты InputStream и OutputStream для отправки и получения данных и, надеюсь, перегружает соединение.

Этот вопрос может быть закрыт как слишком локализованный, однако я надеюсь, что некоторые гуру Cassandra / astyanax могут указать мне правильное направление.

1 ответ

Вам нужно найти, где Cassandra строит мост между вашей клиентской машиной и сервером. Класс (или набор классов), который обеспечивает средства этого соединения, вероятно, будет использовать сокет, который использует потоки ввода / вывода для отправки и получения данных.

Обновление: ключевые классы для изучения из Thrift API (libthrift), который используется в Hector и Astyanax

  • org.apache.thrift.transport.TSocket - создает сокет, который используется для подключения к Cass.
  • org.apache.thrift.transport.TIOStreamTransport - Обрабатывает входящий / исходящий поток и какие данные к нему добавляются (что вы отправляете / получаете)

Следующие шаги, которые вы должны предпринять, это перенаправить сокет для подключения к Cassandra через TOR, а не по TCP/IP.

Другие вопросы по тегам