В общем так не стоит говорить, т.к. такая формулировка вызывает только недопонимание.
Во-первых, кафка работает поверх TCP, свой бинарный протокол. Можно поставить HTTP Rest-proxy если сильно хочется.
Во-вторых, и главное: в юниксах дофига протоколов работает поверх механизма сокетов, а в линуксе ещё больше. Man socket в помощь.
В-третьих, обычно под "работа через сокеты" в юниксах понимается "работа через UNIX Domain Sockets", он же AX_UNIX, он же AX_LOCAL. Сетевой (TCP/IP) стек в таком случае не используется, работа идёт через именованные файловые дескрипторы и общий доступ к памяти. Быстрее, чем через TCP/IP, но только локально и не всеми поддерживается. Кафка так не умеет. СУБД обычно умеют. JDK тоже не умела до самой последней 16-й версии. Windows свежие тоже могут.
А если нужен TCP/IP, то используется сокет типа AX_INET[6]. Так почти всё сетевое хозяйство в юниксах работает. Под Socket в Java (до версии 16) понимается именно работа через AX_INET[6].
Можно ещё написать, но хватит.