Добыл книгу Functional event-driven architecture
Нашел как люди в третьей скале с Кафкой и фс2 работают и постоянно вопрос, а так можно было?
я другой метод не нашел - я в итоге от этой затеи отказался
сделал просто ручной откат если эффект вернул ошибку
А не в целом где посмотреть общую идею можно как это запилить? В книгах про катс? Фс2? Статьи может?
Пытаюсь скрестить ужа и ежа и есть проблемы.
Создаю допустим stream на 42 объекта моего кейс класса, это будет Stream[IO, User].
Потом вызываю из объекта Fs2Producer make и получаю IO[Fs2Producer[User].
Вот мне казалось, что должно сработать что-то типа
stream.flatMap(x => producer.publish(x)
А потом producer.run
Но что-то не срабатывает, и пишет, что в producer нет метода run.
Приветствую! Мб тут смогут подсказать:
Вопрос по кафке:
Кто-нибудь знает, есть ли отличия между сертификатами для кафки на 2-ом спарке и на 3?
Может ли быть такое, что нужны другие сертификаты УЦ и т.п.?
При запуске на спарк 2 всё работает, однако при смене нужных jar файлов и запуске на 3 спарке, выдаёт ошибку
org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed
Stdoutput Caused by: javax.net.ssl.SSLHandshakeException: No subject alternative names presen
#9: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
DNSName: 00CA..
]
нет, создаю очередь на 42 элемента, в эту очередь можно положить 42 раза, на 43 вставка встанет ожидая освобождения места
Читать полностью…Узнал в чем проблема и куда идти, к окулисту.
VSCode воткнул импорт левый, а я недосмотрел
Я хоть теперь слова знаю чтоб понтоваться😺, то есть о проблеме гуглить
А вот если в такой имплисите ругается
Type argument T does not conform to upper bound domain.BaseЭто куда копать? Читать полностью…
implicit def s[T <: Base]: Serializer[IO, T] = Serializer[IO].contramap[T](setData[T])
Вообще куда копать? Это Темплейты раскапывать? Что вообще почитать для просветления?
Читать полностью…В скасти и -Ydelambdafy:inline работает, а в sbt не нагуглю как воткнуть чтоб не игнорило
Читать полностью…Все же вот это строку для третьей скалы еределать можно?
class Fs2Producer[T: Serializer[IO, *]](topic: String, url: String, queue: Queue[IO, T]) {
class Fs2Producer[T: Serializer[IO, _]](topic: String, url: String, queue: Queue[IO, T]) {
Вот так?
implicit def s[T <: Base]: Serializer[IO, T] = Serializer[IO].contramap(setData)Читать полностью…
а я в транзакции пытаюсь сохранить в бд и потом отправить в кафку сообщение и если отправка падает, то транза в бд откатывается успешно. как можно будет такое вручную откатить?
Читать полностью…сорри, что поднимаю старый тред, в итоге кроме как оборачивания в WeakAsync.liftK[F, ConnectionIO].use
, нет никаких вариантов? слишком много кода приходится переписывать
всем привет! ищу автора, который бы смог написать статью для IT-медиа на тему «План перехода с Java на Scala». Будет здорово, если у вас уже есть опыт написания статей
если кому-то из вас было бы интересно взяться за текст, напишите мне)
Есть каналы типа pro.kafka или docker там devops`ы тусуются, может там скорее ответят?
Читать полностью…Метод объекта make внутри создает очередь из 42 Producer, дальше flatMap по этой очереди и пихаешь в public создаваемый объект? Это типа так?
Stream.range(1,99999).mapAsync(25){ x => Fs2Producer.make[User]("topic", "localhost:9092").flatMap( data => data.publish(User(x, "one", None)))}Читать полностью…
В чем ваша проблема? Чтобы в скале 3 андерскоры работали в тайплямбдах, нужна опция -Ykind-projector:underscores, деламбдафай в скале 3 не нужен. Все.
Читать полностью…3.2.2
name := "kafka-avro"Читать полностью…
version := "1.0"
scalaVersion := "3.2.2"
scalacOptions ++= Seq(
"-deprecation",
"-encoding", "UTF-8",
"-feature",
"-unchecked",
"-Ydelambdafy:inline"
)
libraryDependencies ++= Seq(
"com.sksamuel.avro4s" %% "avro4s-core" % "5.0.3",
"com.github.fd4s" %% "fs2-kafka" % "3.0.0-M8",
"dev.zio" %% "zio-kafka" % "2.0.6",
"org.slf4j" % "slf4j-api" % "1.7.5",
"org.slf4j" % "slf4j-simple" % "1.7.5"
)
Так же как любую другую опцию компилятора. Например, scalacOptions += “-Ykind-projector:underscores”
Читать полностью…Во второй скала вроде в объект это все всандаливать надо, а скасти без объекта обходится неявно
Читать полностью…